我有一些十六进制数,例如 0x61cc1000
,我想将它们输入到一个只接受字符串的函数中。我想将十六进制数字视为字符串而不做任何更改。
如果我使用 str()
函数,它会将其转换为 int
,然后将其视为字符串。但我想保留原始的十六进制值。
最佳答案
您的问题是您使用的是 str
:
>>> str(0x61cc1000)
'1640763392' # int value of the hex number as a string
这是因为首先 0x61cc1000 被评估为
int
,然后 str
对结果 int
执行。你想做:
"{0:x}".format(0x61cc1000)
或者
'{:#x}'.format(0x61cc1000)
正如其他答案中所述,您可以简单地:
>>> hex(0x61cc1000)
'0x61cc1000'
有关详细信息,请参阅 6.1.3.1. Format Specification Mini-Language。
关于python - 如何将十六进制视为字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27419345/