十六进制字符串是二进制数据的常见表示形式,特别是在低级编程和数据操作领域。在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 中将十六进制字符串转换为字节可以使用多种方法来完成,方法的选择通常取决于手头任务的具体要求。本文介绍的方法简单、常用,涵盖了多种场景。根据十六进制数据的上下文和性质,您可以选择最适合您需求的方法。
相关用法
- Python Hex转String用法及代码示例
- Python HTMLCalendar formatmonth()用法及代码示例
- Python HTMLCalendar formatyear()用法及代码示例
- Python HTMLCalendar formatyearpage()用法及代码示例
- Python HTML转Markdown用法及代码示例
- Python Html转PDF用法及代码示例
- Python HandCalcs用法及代码示例
- Python String format()用法及代码示例
- Python abs()用法及代码示例
- Python any()用法及代码示例
- Python all()用法及代码示例
- Python ascii()用法及代码示例
- Python bin()用法及代码示例
- Python bool()用法及代码示例
- Python bytearray()用法及代码示例
- Python callable()用法及代码示例
- Python bytes()用法及代码示例
- Python chr()用法及代码示例
- Python compile()用法及代码示例
- Python classmethod()用法及代码示例
- Python complex()用法及代码示例
- Python delattr()用法及代码示例
- Python dict()用法及代码示例
- Python dir()用法及代码示例
- Python divmod()用法及代码示例
注:本文由纯净天空筛选整理自nayanchaure大神的英文原创作品 Convert Hex String to Bytes in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。