仅将字节视为十六进制值(不解码字符)

view bytes as hex values only (do not decode characters)

如何仅将字节数组视为十六进制值?

x = b"\x61"
print(x)
b'a'

我真的只想\x61被展示

您可以使用 int.from_bytes 获取由给定字节数组 表示的 整数。然后可以将该整数传递给 hex 函数以获取十六进制值。

>>> import sys
>>>
>>> x = b"\x61"
>>> hex(int.from_bytes(x, sys.byteorder))
'0x61'

如果您对十六进制数字感到满意(没有 \x),您可以使用 binascii.hexlify

import binascii
x = b"\x61"
print(binascii.hexlify(x))

输出

b'61'