如何将整数转换为十六进制字符串?
我想把一个整数(这个整数最大为255)转换成十六进制字符串。
比如:我想输入 65
,然后得到 '\x41'
,或者输入 255
,然后得到 '\xff'
。
我试过用 struct.pack('c',
65)
来实现这个,但当输入超过 9
时就出问题了,因为它只接受一个字符的字符串。
15 个回答
93
157
这段代码会把一个整数转换成一个带有0x前缀的两位十六进制字符串:
strHex = "0x%0.2X" % integerVariable
285
你在找 chr
这个函数。
看起来你把整数的十进制表示和十六进制表示搞混了,所以不太清楚你到底需要什么。根据你给的描述,我觉得下面这些代码片段可能符合你的需求。
>>> chr(0x65) == '\x65'
True
>>> hex(65)
'0x41'
>>> chr(65) == '\x41'
True
请注意,这和 一个包含整数的十六进制字符串 是完全不同的。如果你想要的是这个,使用 hex
内置函数就可以了。