这是将Python数字转换为十六进制字符串的最佳方法吗?
number = 123456789
hex(number)[2:-1].decode('hex')
有时当你把1234567890转换为十六进制时,会出现Odd-length string的错误。
澄清一下:
我是从整数转换为十六进制。
此外,我需要进行转义。
例如: 1234567890 -> '\x49\x96\x02\xd2' 而不是 '499602D2'
另外,它需要能够接受任何Python整数。例如,一些大于Int的数字。 编辑: 到目前为止,这是我从Paolo和Devin的帖子中拼凑出的最佳解决方案。
def hexify(num):
num = "%x" % num
if len(num) % 2:
num = '0'+num
return num.decode('hex')