如何将十六进制视为字符串?

我有一些十六进制数字,如0x61cc1000,我想将它们输入到只接受字符串的函数.我想将十六进制数字视为字符串而不做任何更改.

如果我使用str()函数,它将它转换为int,然后将其视为字符串.但我想保留原始的十六进制值.

最佳答案 你的问题是你正在使用str:

>>> str(0x61cc1000)
'1640763392'  # int value of the hex number as a string

那是因为首先将0x61cc1000计算为int,然后对结果int执行str.

你想做:

"{0:x}".format(0x61cc1000)

要么

'{:#x}'.format(0x61cc1000)

正如其他答案中所述,您可以简单地说:

>>> hex(0x61cc1000)
'0x61cc1000'

有关详情,请参见6.1.3.1. Format Specification Mini-Language.

点赞