以正确的方式编写十六进制(python)
我有一个二进制文件要读取,我想以十六进制的正确形式显示结果。 守则如下:以正确的方式编写十六进制(python),python,hex,Python,Hex,我有一个二进制文件要读取,我想以十六进制的正确形式显示结果。 守则如下: file=open('myfile.chn', 'rb') while 1: b=fic.readline(1) print(b) file.close() 结果如下: b'\xff' b'\xff' b'\x01' b'\x00' . . 我可以做什么来更改结果,如下所示: FF FF 01 00 . . 将返回字符串'FF'
file=open('myfile.chn', 'rb')
while 1:
b=fic.readline(1)
print(b)
file.close()
结果如下:
b'\xff'
b'\xff'
b'\x01'
b'\x00'
.
.
我可以做什么来更改结果,如下所示:
FF
FF
01
00
.
.
将返回字符串'FF'
将返回字符串
'FF'
,以满足您维护前导零的要求:
>>> import binascii
>>> binascii.hexlify(b'\x0f').decode().upper()
'0F'
也适用于一行中的多个字节:
>>> binascii.hexlify(b'\xff\x01\x00\xaf').decode().upper()
'FF0100AF'
要满足您维护前导零的要求,请执行以下操作:
>>> import binascii
>>> binascii.hexlify(b'\x0f').decode().upper()
'0F'
也适用于一行中的多个字节:
>>> binascii.hexlify(b'\xff\x01\x00\xaf').decode().upper()
'FF0100AF'
如果我想保持1前面的0,我该怎么做?例如,我得到的是1而不是01。如果我想保持1前面的0,我该怎么做?例如,我得到1而不是01。