Python整数到十六进制字符串

时间:2016-10-19 06:36:23

标签: python hex

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

4 个答案:

答案 0 :(得分:8)

integer = 2
hex_string = '0x{:02x}'.format(integer)

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

答案 1 :(得分:2)

答案是Python的内置方法hex

>>> a = hex( 23456 )
>>> type( a ) 
<type 'str'>
>>> a
'0x5ba0'

答案 2 :(得分:1)

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

请参阅Format Specification Mini-Language

答案 3 :(得分:0)

对于可能非常大的整数:

integer = 2
hex = integer.to_bytes(((integer.bit_length() + 7) // 8),"big").hex()

“大”指的是“大端”......导致一个字符串在视觉上与人类期望的一致。

如果需要,可以在前面粘贴“0x”。

hex = "0x" + hex