将python中的十六进制表示为一个完整的字节

问题描述 投票:0回答:1

格式化十六进制时,有没有办法让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

或者我是否需要为此创建自己的格式化程序?

python python-3.x hex
1个回答
0
投票

您可以使用格式说明符在字符串中格式化固定长度的十六进制值...

  • 0-用0填充
  • 4-数字位数
  • x-十六进制值

像这样:

 '{: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'
© www.soinside.com 2019 - 2024. All rights reserved.