如何在 Python 中将十六进制转换为十进制?

我有一些 Perl 代码,其中十六进制()函数将十六进制数据转换为十进制。在 巨蟒上怎么做?

451013 次浏览
>>> int("0xff", 16)
255

或者

>>> int("FFFF", 16)
65535

阅读文件。

如果“十六进制数据”指的是表单的字符串

s = "6a48f82d8e828ce82b82"

你可以利用

i = int(s, 16)

把它转换成一个整数

str(i)

将其转换为十进制字符串。

你可以用一个字面的评估:

>>> ast.literal_eval('0xdeadbeef')
3735928559

或者只是将基函数指定为 int的参数:

>>> int('deadbeef', 16)
3735928559

一个不为人知的技巧是,如果您将基 0指定为 int,那么 Python 将尝试从字符串前缀确定基:

>>> int("0xff", 0)
255
>>> int("0o644", 0)
420
>>> int("0b100", 0)
4
>>> int("100", 0)
100