我有一个很长的十六进制字符串,表示一系列不同类型的值。我需要将此十六进制字符串转换为bytes
or bytearray
这样我就可以从原始数据中提取每个值。我怎样才能做到这一点?
例如,字符串"ab"
应该转换为字节b"\xab"
或等效的字节数组。更长的例子:
>>> # what to use in place of `convert` here?
>>> convert("8e71c61de6a2321336184f813379ec6bf4a3fb79e63cd12b")
b'\x8eq\xc6\x1d\xe6\xa22\x136\x18O\x813y\xeck\xf4\xa3\xfby\xe6<\xd1+'
假设你的十六进制字符串是这样的
>>> hex_string = "deadbeef"
将其转换为字节数组(Python 3 和 2.7):
>>> bytearray.fromhex(hex_string)
bytearray(b'\xde\xad\xbe\xef')
将其转换为字节对象(Python 3):
>>> bytes.fromhex(hex_string)
b'\xde\xad\xbe\xef'
注意bytes
是一个不可变版本bytearray
.
将其转换为字符串(Python ≤ 2.7):
>>> hex_data = hex_string.decode("hex")
>>> hex_data
"\xde\xad\xbe\xef"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)