如何将十进制转换为以下格式的十六进制(至少两位,零填充,不带 0x 前缀)?
输入:255
输出:ff
输入:2
输出:02
我尝试了 hex(int)[2:]
但它似乎显示了第一个示例而不是第二个示例。
最佳答案
使用 format()
function '02x'
格式。
>>> format(255, '02x')
'ff'
>>> format(2, '02x')
'02'
02
部分告诉 format()
使用至少 2 位数字并使用零填充长度,x
表示较低-大小写十六进制。
Format Specification Mini Language还为您提供 X
用于大写十六进制输出,您可以在字段宽度前加上 #
以包含 0x
或 0X
前缀(取决于您使用 x
还是 X
作为格式化程序)。只需考虑到您需要调整字段宽度以允许额外的 2 个字符:
>>> format(255, '02X')
'FF'
>>> format(255, '#04x')
'0xff'
>>> format(255, '#04X')
'0XFF'
关于Python 十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14678132/