我有一些十六进制数,例如 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/

10-13 07:30