Python 中的整数到十六进制转换
Integer to Hexadecimal Conversion in Python
a = 1
print hex(a)
上面给出了输出:0x1
如何获得 0x01
的输出?
print "0x%02x"%a
x
作为格式意味着 "print as hex".
02
表示 "pad with zeroes to two characters".
尝试:
print "0x%02x" % a
有点毛毛,我来分解一下:
前两个字符“0x”是按字面打印的。 Python 只是逐字吐出。
% 告诉 python 接下来是格式化序列。
0 告诉格式化程序它应该用零填充任何前导 space 并且 2 告诉它至少使用两列来完成它。 x 是格式化序列的末尾,表示类型 - 十六进制。
如果你想打印“0x00001”,你可以使用“0x%05x”等
您可以使用 format
:
>>> a = 1
>>> '{0:02x}'.format(a)
'01'
>>> '0x{0:02x}'.format(a)
'0x01'
您可以使用 format:
>>> "0x"+format(1, "02x")
'0x01'
>>> format(1, '#04x')
'0x01'
这是 Python 3.6+ 的 f 字符串变体:
a = 1
print(f"{a:0>2x}")
字符串格式说明:
:
: 格式说明符
0
:填充(用0
)
>
: 右对齐字段
2
:宽度
x
: hex
类型
a = 1
print hex(a)
上面给出了输出:0x1
如何获得 0x01
的输出?
print "0x%02x"%a
x
作为格式意味着 "print as hex".
02
表示 "pad with zeroes to two characters".
尝试:
print "0x%02x" % a
有点毛毛,我来分解一下:
前两个字符“0x”是按字面打印的。 Python 只是逐字吐出。
% 告诉 python 接下来是格式化序列。 0 告诉格式化程序它应该用零填充任何前导 space 并且 2 告诉它至少使用两列来完成它。 x 是格式化序列的末尾,表示类型 - 十六进制。
如果你想打印“0x00001”,你可以使用“0x%05x”等
您可以使用 format
:
>>> a = 1
>>> '{0:02x}'.format(a)
'01'
>>> '0x{0:02x}'.format(a)
'0x01'
您可以使用 format:
>>> "0x"+format(1, "02x")
'0x01'
>>> format(1, '#04x')
'0x01'
这是 Python 3.6+ 的 f 字符串变体:
a = 1
print(f"{a:0>2x}")
字符串格式说明:
:
: 格式说明符0
:填充(用0
)>
: 右对齐字段2
:宽度x
:hex
类型