如何在Python中将十六进制转换为十进制? [重复]

时间:2022-10-30 14:54:25

This question already has an answer here:

这个问题在这里已有答案:

I have some Perl code where the hex() function converts hex data to decimal. How can I do it on Python?

我有一些Perl代码,其中hex()函数将十六进制数据转换为十进制。我怎么能在Python上做到这一点?

3 个解决方案

#1


154  

If by "hex data" you mean a string of the form

如果通过“十六进制数据”表示表单的字符串

s = "6a48f82d8e828ce82b82"

you can use

您可以使用

i = int(s, 16)

to convert it to an integer and

将它转换为整数和

str(i)

to convert it to a decimal string.

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

#2


31  

>>> int("0xff", 16)
255

or

要么

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

Read the docs.

阅读文档。

#3


13  

You could use a literal eval:

你可以使用文字eval:

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

Or just specify the base as argument to int:

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

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

#1


154  

If by "hex data" you mean a string of the form

如果通过“十六进制数据”表示表单的字符串

s = "6a48f82d8e828ce82b82"

you can use

您可以使用

i = int(s, 16)

to convert it to an integer and

将它转换为整数和

str(i)

to convert it to a decimal string.

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

#2


31  

>>> int("0xff", 16)
255

or

要么

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

Read the docs.

阅读文档。

#3


13  

You could use a literal eval:

你可以使用文字eval:

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

Or just specify the base as argument to int:

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

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