首页 >后端开发 >Python教程 >如何在Python中将十六进制字符串转换为字节?

如何在Python中将十六进制字符串转换为字节?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-11 22:40:02512浏览

How to Convert Hexadecimal Strings to Bytes in Python?

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

在 Python 中,将十六进制字符串转换为字节是一项常见任务。十六进制字符串以人类可读的格式表示二进制数据。本文将探讨有效实现此转换的各种方法。

方法一:使用 bytearray.fromhex() (推荐 Python 3 和 2.7)

bytearray.fromhex() 直接转换十六进制字符串转换为字节数组对象。 bytearray 的作用就像一个可变的字节数组。

hex_string = "deadbeef"
bytearray_object = bytearray.fromhex(hex_string)

此方法为 Python 2.7 和 Python 3 提供了便捷的解决方案。

方法 2:使用 bytes.fromhex() (Python 3仅)

与 bytearray.fromhex() 类似,Python 3 提供 bytes.fromhex() 来直接从十六进制字符串创建字节对象。 bytes 对象是不可变的,表示不可变字节序列。

hex_string = "deadbeef"
bytes_object = bytes.fromhex(hex_string)

建议在 Python 3 中使用此方法,因为它返回更合适的类型。

方法 3:使用字符串解码 (仅 Python 2.7)

在 Python 2.7 中,您可以使用带有“hex”参数的decode()方法将十六进制字符串解码为字符串。

hex_string = "deadbeef"
string_data = hex_string.decode("hex")

虽然此方法不创建一个 bytearray 或 bytes 对象,它为旧版本的 Python 提供了解决方法。

以上是如何在Python中将十六进制字符串转换为字节?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn