我在 Python 中有一个整数列表,它应该对应于以下 int 值(可以更改为十六进制字节值):
[10, 145, 140, 188, 212, 198, 210, 25, 152, 20, 120, 15, 49, 113, 33, 220, 124, 67, 174, 224, 220, 241, 241]
但是,当我将该列表转换为字节数组时(使用 bytearray(nameOfList)),我得到以下打印输出。
bytearray(b'\n\x91\x8c\xbc\xd4\xc6\xd2\x19\x98\x14x\x0f1q!\xdc|C\xae\xe0\xdc\xf1\xf1')
我可以从这个字节数组中提取正确的值,不管它是如何打印的,但是 bytearray 打印输出不应该对应于字节数组的十六进制值吗? (我的意思是,它似乎主要遵循十六进制值,直到\x0f 之后,它开始发出乱码...)
最佳答案
>>> x = bytearray(b'\n\x91\x8c\xbc\xd4\xc6\xd2\x19\x98\x14x\x0f1q!\xdc|C\xae\xe0
\xdc\xf1\xf1')
>>> import binascii
>>> print binascii.hexlify(x)
0a918cbcd4c6d2199814780f317121dc7c43aee0dcf1f1
如果你想把所有的都打印成十六进制字符串,就用binascii
关于Python 字节数组打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17093700/