当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Hex String转Bytes用法及代码示例


十六进制字符串是二进制数据的常见表示形式,特别是在低级编程和数据操作领域。在Python中,将十六进制字符串转换为字节是一项频繁的任务,有多种方法可以实现这一点。在本文中,我们将探讨一些在 Python 中将十六进制字符串转换为字节的简单且常用的方法。

Python 将十六进制字符串转换为字节

下面是Python将十六进制字符串转换为字节的方法Python.

  • 使用bytes.fromhex() Function
  • 使用bytearray.fromhex() Function
  • 使用列表理解Function
  • 使用binascii.unhexlify() Function

使用以下命令将十六进制字符串转换为字节bytes.fromhex() Function

In this example, below code initializes a hex string "1a2b3c" and converts it to bytes using the `bytes.fromhex()` method, storing the result in the variable `bytes_result`. The subsequent print statements display the types of the original hex string, the resulting bytes, and the type of the bytes object.

Python3


hex_string = "1a2b3c"
bytes_result = bytes.fromhex(hex_string)
print(type(hex_string))
print(bytes_result)
print(type(bytes_result))
输出
<class 'str'>
b'\x1a+<'
<class 'bytes'>

使用以下命令将十六进制字符串转换为字节bytearray.fromhex() Function

In this example, below code defines a hex string "1a2b3c" and converts it to a bytearray using the `bytearray.fromhex()` method, storing the result in the variable `bytearray_result`. The subsequent print statements display the type of the original hex string, the resulting bytearray, and the type of the bytearray object.

Python3


hex_string = "1a2b3c"
bytearray_result = bytearray.fromhex(hex_string)
print(type(hex_string))
print(bytearray_result)
print(type(bytearray_result))
输出
<class 'str'>
bytearray(b'\x1a+<')
<class 'bytearray'>

使用列表理解将十六进制字符串转换为字节Function

在此示例中,下面的代码初始化十六进制字符串 “1a2b3c” 并使用列表理解和“int()”函数。结果字节存储在变量“bytes_result”中。随后的打印语句显示原始十六进制字符串的类型、生成的字节以及字节对象的类型。

Python3


hex_string = "1a2b3c"
bytes_result = bytes([int(hex_string[i:i+2], 
                          16) for i in range(0, len(hex_string), 2)])
print(type(hex_string))
print(bytes_result)
print(type(bytes_result))
输出
<class 'str'>
b'\x1a+<'
<class 'bytes'>

使用以下命令将十六进制字符串转换为字节binascii.unhexlify() Function

In this example, below code uses the `binascii` module to convert the hex string "1a2b3c" to bytes using the `unhexlify()` function. The resulting bytes are stored in the variable `bytes_result`. The subsequent print statements display the type of the original hex string, the resulting bytes, and the type of the bytes object.

Python3


import binascii
hex_string = "1a2b3c"
bytes_result = binascii.unhexlify(hex_string)
print(type(hex_string))
print(bytes_result)
print(type(bytes_result))
输出
<class 'str'>
b'\x1a+<'
<class 'bytes'>

结论

在 Python 中将十六进制字符串转换为字节可以使用多种方法来完成,方法的选择通常取决于手头任务的具体要求。本文介绍的方法简单、常用,涵盖了多种场景。根据十六进制数据的上下文和性质,您可以选择最适合您需求的方法。



相关用法


注:本文由纯净天空筛选整理自nayanchaure大神的英文原创作品 Convert Hex String to Bytes in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。