python 中的十六进制字节

Bytes as hex in python

我想将 int 转换为 4 个字节的数据,但是当我使用 to_byte() 函数时,结果不是我所期望的。我知道它是正确的值,但我想将它转换为十六进制类型。 例如:

length = 13
length.to_bytes(4, byteorder='big')

输出:

b'\x00\x00\x00\r'

现在如何快速将其转换为:

b'\x00\x00\x00\x0d'

提前致谢。

这是因为 13 在 ASCI 上映射到“r”table

length.to_bytes(4,byteorder='big').hex() 将显示为十六进制。

如果您只想将 13 以二进制形式写入文件:

length = 13
file = open('file.bin', 'bw') # Open file in binary write mode.
file.write(length.to_bytes(4,byteorder='big'))
file.close()