格式化十六进制时,有没有办法让python打印出偶数个字节?例如:
>>> hex(12)
'0xc'
>>> f'{12:#x}'
'0xc'
>>> f'{12:#X}'
'0XC'
>>> f'{12:X}'
'C'
>>> f'{12:x}'
'c'
另外,python是否具有格式化的格式,当存在多个字节时,该格式将分隔字节?例如:
>>> hex(1000)
'0x3e8' # 0e e8
或者我是否需要为此创建自己的格式化程序?
您可以使用格式说明符在字符串中格式化固定长度的十六进制值...
像这样:
'{:04x}'.format(12)
哪个返回:
'000c'
AFAIK,您需要具有自定义格式功能才能按位置分组。也许像这样:
hex_value = '0123456789abcdef'
' '.join(hex_value[i: i + 2] for i in range(0, len(hex_value), 2))
哪个会返回:
'01 23 45 67 89 ab cd ef'