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

时间:2012-05-10 09:58:10

标签: 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  
.  
.

2 个答案:

答案 0 :(得分:5)

"%02X" % ord(b'\xff')

将返回字符串'FF'

答案 1 :(得分:2)

满足您保持领先零的要求:

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

也可以连续使用多个字节:

>>> binascii.hexlify(b'\xff\x01\x00\xaf').decode().upper()
'FF0100AF'