Open In App

Convert Bytearray To Bytes In Python

In Python, dealing with binary data is a common task, and understanding how to convert between different binary representations is crucial. One such conversion is from a bytearray to bytes. In this article, we will explore five simple methods to achieve this conversion, along with code examples for each.

Convert Bytearray To Bytes In Python

Below, are the ways to Convert Bytearray To Bytes In Python.



Convert Bytearray To Bytes Using bytes() Constructor

In this example, in the below code a bytearray named byte_array containing ASCII values and prints its type, confirming it as a bytearray. Then, it converts the bytearray to a bytes object using the bytes() constructor and prints both the resulting bytes and their type, demonstrating the conversion from bytearray to bytes in Python.




byte_array = bytearray([65, 66, 67, 68, 69])
print(type(byte_array))
 
bytes_result = bytes(byte_array)
print(bytes_result)
print(type(bytes_result))

Output

<class 'bytearray'>
b'ABCDE'
<class 'bytes'>

Convert Bytearray To Bytes Using encode() Method

In this example, below code creates a bytearray from the bytes representation of “Hello” and prints its type. It then decodes the bytearray to a UTF-8 string and re-encodes it, printing the result and its type. The output demonstrates the conversion between bytearray and string representations in Python.




byte_array_str = bytearray(b"Hello")
print(type(byte_array))
 
bytes_result = byte_array_str.decode('utf-8').encode('utf-8')
print(bytes_result)
print(type(bytes_result))

Output

<class 'bytearray'>
b'Hello'
<class 'bytes'>

Convert Bytearray To Bytes Using bytes() Constructor Iteration

In this example, in below code a bytearray from a list of integers and prints its type. It then creates a bytes object from the elements of the bytearray, prints the result, and shows its type. This demonstrates the conversion between a bytearray and bytes object in Python.




byte_array = bytearray([75, 76, 77, 78, 79])
print(type(byte_array))
 
bytes_result = bytes([byte for byte in byte_array])
print(bytes_result)
print(type(bytes_result))

Output
<class 'bytearray'>
b'KLMNO'
<class 'bytes'>

Convert Bytearray To Bytes Using struct Module

In this example, the code first prints the type of the variable “byte_array” (which needs to be defined before the print statement). Then, it initializes a bytearray from a list of integers. Using the struct module, it packs the bytearray into a binary format specified by the format string and prints the resulting bytes.




import struct
print(type(byte_array))
 
byte_array = bytearray([80, 81, 82, 83, 84])
format_string = f"{len(byte_array)}B"
bytes_result = struct.pack(format_string, *byte_array)
print(bytes_result)
print(type(bytes_result))

Output

<class 'bytearray'>
b'PQRST'
<class 'bytes'>

Conclusion

Converting a bytearray to bytes in Python can be achieved through various methods, depending on the specific requirements of your code. The examples provided in this article cover different scenarios, from simple one-liners to more versatile approaches using modules like struct. Understanding these methods will empower you to handle binary data more effectively in your Python projects.


Article Tags :