在Python 3中将整数转换为其十六进制值

时间:2014-10-15 06:49:25

标签: python python-3.x byte

十进制值100的十六进制值为64,如here所示。如何将100转换为该十六进制值?我试过了

a = bytes([64])

但返回

b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

(一个长度为64的bytes对象)不是我想要的。

感谢您的帮助

3 个答案:

答案 0 :(得分:3)

您复制的输出有误,请比较bytes([source[, encoding[, errors]]])

In [1]: bytes([64])
Out[1]: b'@'

相反:

In [2]: bytes(64)
Out[2]: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

要将整数v转换为十六进制字符串,请使用:hex(v)

In [3]: hex(100)
Out[3]: '0x64'

答案 1 :(得分:2)

这个怎么样?

'{:x}'.format(100)

答案 2 :(得分:1)

在python hex中是内置函数,可以将整数转换为十六进制值,您可以尝试:
十六进制(100)
会给你结果:
' 0x64'