Python字节数据的打印

2024-05-20 23:33:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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(使用bytearray(nameOfList))时,会得到以下打印输出。

bytearray(b'\n\x91\x8c\xbc\xd4\xc6\xd2\x19\x98\x14x\x0f1q!\xdc|C\xae\xe0\xdc\xf1\xf1')

不管它如何打印,我都可以从这个字节数组中提取正确的值,但是byte array的打印输出不应该与字节数组的十六进制值相对应吗?(我的意思是,它似乎主要遵循十六进制值,直到\x0f之后,开始发出乱七八糟的声音……)


Tags: 列表字节整数数组int打印输出bytearrayxbc
2条回答

在我看来很好。它只是尽可能将字节呈现为ASCII字符。15=\x0f之后,有49='1'和113='q'等

http://asciitable.com

>>> 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

如果要将所有内容打印为十六进制字符串,请使用binasci

相关问题 更多 >