这是将 Python 数字转换为十六进制字符串的最佳方式吗?
number = 123456789
hex(number)[2:-1].decode('hex')
有时它不起作用,并在您执行 1234567890 时提示 Odd-length string。
澄清:
我将从整型转为十六进制。
另外,我需要它被转义。
即: 1234567890 -> '\x49\x96\x02\xd2' 不是 '499602D2'
此外,它需要能够接受任何 Python 整数。 IE。比 Int 更大的东西。
编辑:
这是迄今为止我从 Paolo 和 Devin 的帖子中拼凑出来的最佳解决方案。
def hexify(num):
num = "%x" % num
if len(num) % 2:
num = '0'+num
return num.decode('hex')
最佳答案
你可以使用 string formatting :
>>> number = 123456789
>>> hex = "%X" % number
>>> hex
'75BCD15'
关于python - 将数字转换为二进制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/699285/