我在Python中有一個(gè)整數(shù)列表,該列表應(yīng)對(duì)應(yīng)以下int值(可以將其更改為十六進(jìn)制字節(jié)值):[10, 145, 140, 188, 212, 198, 210, 25, 152, 20, 120, 15, 49, 113, 33, 220, 124, 67, 174, 224, 220, 241, 241]但是,當(dāng)我將該列表轉(zhuǎn)換為字節(jié)數(shù)組(使用bytearray(nameOfList))時(shí),得到以下打印輸出。bytearray(b'\n\x91\x8c\xbc\xd4\xc6\xd2\x19\x98\x14x\x0f1q!\xdc|C\xae\xe0\xdc\xf1\xf1')無(wú)論如何打印,我都可以從此字節(jié)數(shù)組中提取正確的值,但是bytearray打印輸出不應(yīng)該與字節(jié)數(shù)組的十六進(jìn)制值相對(duì)應(yīng)嗎?(我的意思是,它似乎大多遵循十六進(jìn)制值,直到\ x0f之后才開(kāi)始輸出亂碼...)
3 回答

達(dá)令說(shuō)
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
>>> 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
如果您希望將所有字符都打印為十六進(jìn)制字符串,請(qǐng)使用binascii

斯蒂芬大帝
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
使用bytes.hex()
>>> x = bytearray([0x01,0x02,0xff])
>>> print(x.hex())
0102ff
添加回答
舉報(bào)
0/150
提交
取消