Open In App

Convert Bytearray To Bytes In Python

Last Updated : 02 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

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.

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))


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.

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))


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.

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.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads