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(nameOfList))时,得到以下打印输出。

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

无论如何打印,我都可以从此字节数组中提取正确的值,但是bytearray打印输出不应该与字节数组的十六进制值相对应吗?(我的意思是,它似乎大多遵循十六进制值,直到\ x0f之后才开始输出乱码...)


胡子哥哥
浏览 527回答 3
3回答

达令说

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

斯蒂芬大帝

使用bytes.hex()>>> x = bytearray([0x01,0x02,0xff])>>> print(x.hex())0102ff
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python