繁体   English   中英

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

[英]How to treat a hex as string?

我有一些十六进制数字,如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。 格式规范迷你语言了解详细信息。

如果您想要任何整数的十六进制字符串表示,只需将其传递给内置hex

>>> n = 0x61cc1000
>>> n
1640763392
>>> hex(n)
'0x61cc1000'

如果你想在开头有0x,你可以像这样使用#x格式:

'{:#x}'.format(74954)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM