将 python 中的十六进制转换为一个完整的字节
Doing hex in python to a full byte
有没有办法让 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
或者我需要为此创建自己的格式化程序吗?
您可以使用格式说明符在字符串中格式化固定长度的十六进制值...
- 0 - 用 0 填充
- 4 - 位数
- x - 十六进制值
像这样:
'{:04x}'.format(12)
哪个 returns:
'000c'
据我所知,您需要具有自定义格式功能才能按位置分组。也许是这样的:
hex_value = '0123456789abcdef'
' '.join(hex_value[i: i + 2] for i in range(0, len(hex_value), 2))
哪个 return:
'01 23 45 67 89 ab cd ef'
有没有办法让 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
或者我需要为此创建自己的格式化程序吗?
您可以使用格式说明符在字符串中格式化固定长度的十六进制值...
- 0 - 用 0 填充
- 4 - 位数
- x - 十六进制值
像这样:
'{:04x}'.format(12)
哪个 returns:
'000c'
据我所知,您需要具有自定义格式功能才能按位置分组。也许是这样的:
hex_value = '0123456789abcdef'
' '.join(hex_value[i: i + 2] for i in range(0, len(hex_value), 2))
哪个 return:
'01 23 45 67 89 ab cd ef'