以正确的方式编写十六进制(在python中)



我有一个二进制文件要读取,我想以十六进制的正确形式显示结果。代码如下:

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  
.  
.
"%02X" % ord(b'xff')

将返回字符串'FF'

,以满足您维护前导零的要求:

>>> import binascii
>>> binascii.hexlify(b'x0f').decode().upper()
'0F'

也适用于连续多个字节:

>>> binascii.hexlify(b'xffx01x00xaf').decode().upper()
'FF0100AF'

最新更新