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.
- Using bytes() Constructor
- Using the
encode()
Method - Using
bytes()
Constructor with Iteration - Using
struct
Module
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.
Python3
byte_array = bytearray([ 65 , 66 , 67 , 68 , 69 ]) print ( type (byte_array)) bytes_result = bytes(byte_array) print (bytes_result) print ( type (bytes_result)) |
<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.
Python3
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.
Python3
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)) |
<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.
Python3
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.