Convert Hex String to Bytes in Python
Last Updated :
12 May, 2025
Converting a hexadecimal string to bytes in Python involves interpreting each pair of hexadecimal characters as a byte. For example, the hex string 0xABCD would be represented as two bytes: 0xAB and 0xCD. Let’s explore a few techniques to convert a hex string to bytes.
Using bytes.fromhex()
bytes.fromhex() method converts a hexadecimal string directly into an immutable bytes object.
Python
a = "1a2b3c"
b = bytes.fromhex(a)
print(type(a))
print(type(b),b)
Output<class 'str'>
<class 'bytes'> b'\x1a+<'
Explanation: This code initializes a hex string "1a2b3c" and converts it to bytes using the `bytes.fromhex()` method and result is printed using print() statement.
Using bytearray.fromhex()
bytearray.fromhex() method is similar to bytes.fromhex(), but it returns a mutable bytearray object. This method is particularly useful when you need to modify the byte data after conversion.
Python
a = "1a2b3c"
b = bytearray.fromhex(a)
print(type(a))
print(type(b),b)
Output<class 'str'>
<class 'bytearray'> bytearray(b'\x1a+<')
Explanation: This code defines a hex string "1a2b3c" and converts it to a bytearray using the `bytearray.fromhex()` method, storing the result in the variable `br`.
Using binascii.unhexlify()
binascii.unhexlify() converts a hexadecimal string to its byte equivalent, similar to bytes.fromhex(). The key difference is that unhexlify() is part of the binascii module, which handles binary and ASCII encoding/decoding, making it useful for working with formats like base64.
Python
import binascii
a = "1a2b3c"
b = binascii.unhexlify(a)
print(type(a))
print(type(b),b)
Output<class 'str'>
<class 'bytes'> b'\x1a+<'
Explanation: This code uses the `binascii` module to convert the hex string "1a2b3c" to bytes using the `unhexlify()` function.
Using List Comprehension
You can convert a hexadecimal string into bytes using list comprehension in a single line by splitting the hex string into pairs of characters, converting each pair to its decimal equivalent and then converting the result into a bytes object.
Python
a = "1a2b3c"
b = bytes([int(a[i:i+2], 16) for i in range(0, len(a), 2)])
print(type(a))
print(type(b),b)
Output<class 'str'>
<class 'bytes'> b'\x1a+<'
Explanation:
- List comprehension iterates through the string in 2-character chunks, converts each to decimal using int(a[i:i+2], 16), and stores the results as integers.
- bytes() function converts this list into a bytes object, stored in b.
Related Articles:
Similar Reads
How to Convert Bytes to String in Python ? We are given data in bytes format and our task is to convert it into a readable string. This is common when dealing with files, network responses, or binary data. For example, if the input is b'hello', the output will be 'hello'.This article covers different ways to convert bytes into strings in Pyt
2 min read
Convert Hex to String in Python Hexadecimal (base-16) is a compact way of representing binary data using digits 0-9 and letters A-F. It's commonly used in encoding, networking, cryptography and low-level programming. In Python, converting hex to string is straightforward and useful for processing encoded data.Using List Comprehens
2 min read
Convert hex string to float in Python Converting a hex string to a float in Python involves a few steps since Python does not have a direct method to convert a hexadecimal string representing a float directly to a float. Typically, a hexadecimal string is first converted to its binary representation, and then this binary representation
3 min read
Convert Hex String To Integer in Python Hexadecimal representation is commonly used in computer science and programming, especially when dealing with low-level operations or data encoding. In Python, converting a hex string to an integer is a frequent operation, and developers have multiple approaches at their disposal to achieve this tas
2 min read
Convert String to Int in Python In Python, converting a string to an integer is important for performing mathematical operations, processing user input and efficiently handling data. This article will explore different ways to perform this conversion, including error handling and other method to validate input string during conver
3 min read