考虑到一个整数2,我想把它转换成十六进制字符串'0x02'。我想把它转换成十六进制字符串'0x02'。通过使用python的内置函数 hex()
我可以得到'0x2',这不适合我的代码。谁能告诉我如何方便地得到我想要的东西?谢谢你。
integer = 2
hex_string = '0x{:02x}'.format(integer)
查看 PEP 3101特别是 标准格式指定器 以获得更多信息。
对于整数,可能是非常大的。
integer = 2
hex = integer.to_bytes(((integer.bit_length() + 7) // 8),"big").hex()
"big "指的是 "big endian"... 产生的字符串在视觉上与人类期望的一致.
如果你想的话,你可以在前面加上 "0x"。
hex = "0x" + hex
>>> integer = 2
>>> hex_string = format(integer, '#04x') # add 2 to field width for 0x
>>> hex_string
'0x02'
请看 格式规范迷你语言