如何将int转换为十六进制字符串?

2024-04-27 04:17:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用一个整数(即<;=255)表示十六进制字符串

例如:我想通过65然后出去'\x41',或者255然后得到'\xff'

我试过用struct.pack('c',65)来实现这个功能,但这会阻塞任何高于9的内容,因为它想要接受一个字符串。


Tags: 字符串lt功能内容整数structpackxff
3条回答

这将把一个整数转换为一个两位数的十六进制字符串,前缀是:

strHex = "0x%0.2X" % 255

您正在寻找chr函数。

您似乎混合了整数的十进制表示和整数的十六进制表示,所以还不完全清楚您需要什么。根据你的描述,我认为其中一个片段表明了你想要什么。

>>> chr(0x65) == '\x65'
True


>>> hex(65)
'0x41'
>>> chr(65) == '\x41'
True

注意,这与一个包含十六进制整数的字符串非常不同。如果这是您想要的,请使用hex内置。

^{}呢?

hex(255)  # 0xff

如果你真的想让\在前面,你可以:

print '\\' + hex(255)[1:]

相关问题 更多 >