发生这种情况是因为hex()
不包括任何前导零,例如:
>>> hex(15)[2:]
'f'
为确保始终获得两个字符,可以str.zfill()
在必要时使用添加前导零:
>>> hex(15)[2:].zfill(2)
'0f'
这是代码中的样子:
fc = '0x'
for i in b[0x15c:0x15f]:
fc += hex(ord(i))[2:].zfill(2)
Python,打印十六进制删除第一个0?
发生这种情况是因为hex()
不包括任何前导零,例如:
>>> hex(15)[2:]
'f'
为确保始终获得两个字符,可以str.zfill()
在必要时使用添加前导零:
>>> hex(15)[2:].zfill(2)
'0f'
这是代码中的样子:
fc = '0x'
for i in b[0x15c:0x15f]:
fc += hex(ord(i))[2:].zfill(2)