Python - 从十六进制整数转换为十六进制字符串

时间:2013-07-05 19:45:48

标签: python python-2.7

在python中有一个相当简单的方法从十六进制整数转换为十六进制字符串吗? 例如,我有0xa1b2c3,我想要"0xa1b2c3"。如果我使用str(),它会自动转换为基数10,然后我无法将其转换回来,因为它在那一点上是一个字符串。

2 个答案:

答案 0 :(得分:4)

为什么不做hex()

>>> testNum = 0xa1b2c3
>>> hex(testNum)
    '0xa1b2c3'
>>> test = hex(testNum)
>>> isinstance(test, str)
    True

hex返回一个字符串表示。见help(hex)

hex(...)
    hex(number) -> string

    Return the hexadecimal representation of an integer or long integer.

答案 1 :(得分:2)

使用hex

>>> x = 0xa1b2c3
>>> hex(x)
'0xa1b2c3'

string formatting

>>> "{:#x}".format(x)
'0xa1b2c3'

format

>>> format(x, '#x')
'0xa1b2c3'