这是将 Python 数字转换为十六进制字符串的最佳方法吗?
number = 123456789
hex(number)[2:-1].decode('hex')
有时它不起作用并在您执行 1234567890 时抱怨奇怪长度的字符串。
澄清:
我要从 int 到 hex。
另外,我需要它被逃脱。
IE: 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')