Python整数到十六进制字符串

Soo*_*SYJ 3 python hex

考虑整数2.我想将其转换为十六进制字符串'0x02'.通过使用python的内置函数hex,我可以得到'0x2',这不适合我的代码.任何人都可以告诉我如何以方便的方式得到我想要的东西.谢谢.

Mic*_*opp 12

integer = 2
hex_string = '0x{:02x}'.format(integer)
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅pep 3101,尤其是标准格式说明符.


cdl*_*ane 5

>>> integer = 2
>>> hex_string = format(integer, '#04x')  # add 2 to field width for 0x
>>> hex_string
'0x02'
Run Code Online (Sandbox Code Playgroud)

请参阅迷你语言格式规范


Eri*_*sty 5

对于可能非常大的整数:

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)