考虑整数2.我想将其转换为十六进制字符串'0x02'.通过使用python的内置函数hex,我可以得到'0x2',这不适合我的代码.任何人都可以告诉我如何以方便的方式得到我想要的东西.谢谢.
Mic*_*opp 12
integer = 2
hex_string = '0x{:02x}'.format(integer)
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅pep 3101,尤其是标准格式说明符.
>>> integer = 2
>>> hex_string = format(integer, '#04x') # add 2 to field width for 0x
>>> hex_string
'0x02'
Run Code Online (Sandbox Code Playgroud)
请参阅迷你语言格式规范
对于可能非常大的整数:
integer = 2
hex = integer.to_bytes(((integer.bit_length() + 7) // 8),"big").hex()
Run Code Online (Sandbox Code Playgroud)
“大”指的是“大端”……导致字符串在视觉上与人类期望的一样对齐。
如果需要,您可以在前面贴上“0x”。
hex = "0x" + hex
Run Code Online (Sandbox Code Playgroud)