This question already has answers here:
hexadecimal string to byte array in python
(8个答案)
2年前关闭。
我在python3中有两个
由于某些十六进制值的ascii解释,因此第二个输出中存在奇数。
我的问题是如何将
(8个答案)
2年前关闭。
我在python3中有两个
bytes
类的变量。print(string1) --> b'2900BCE03604093C000080'
print(bytes.fromhex(string1.decode('utf8'))) --> b')\x00\xbc\xe06\x04\t<\x00\x00\x80'
print(type(string1)) --> <class 'bytes'>
print(type(bytes.fromhex(string1.decode('utf8')))) --> <class 'bytes'>
由于某些十六进制值的ascii解释,因此第二个输出中存在奇数。
我的问题是如何将
string1
更轻松地转换为第二行的输出。有没有更好的办法? 最佳答案
您可以使用binascii.a2b_hex()
函数获取二进制数据的十六进制表示形式:
In [5]: binascii.a2b_hex(s)
Out[5]: b')\x00\xbc\xe06\x04\t<\x00\x00\x80'
10-02 10:35