在 Python 中将十六进制转换为十进制

Manav Narula 2023年1月30日 2021年2月28日
  1. 在 Python 中使用 int() 函数将十六进制值转换为整数
  2. 在 Python 中使用 ast.literal_eval 函数把十六进制转换成整数
在 Python 中将十六进制转换为十进制

在编程的世界里,我们处理属于不同数字系统的值。十六进制数就是这样一个系统。它被用于存储内存地址、IP 地址等。

十进制值的基数是 10,而十六进制值的基数是 16。在 Python 中,十六进制值的前缀是 0x

在本教程中,我们将学习如何将十六进制值转换为相应的十进制整数。

在 Python 中使用 int() 函数将十六进制值转换为整数

int() 函数可以帮助将不同的值转换为十进制整数。它将十六进制字符串类型化为相应的整数值。为了达到这个目的,我们必须传递数字和它的基数来将其转换为整数(记住十六进制值的基数是 16)。

s = '0xffa'
print(int(s,16))

输出:

4090

在 Python 中使用 ast.literal_eval 函数把十六进制转换成整数

ast.literal_eval() 函数可以评估 Python 中的字符串字面值。当一个十六进制字符串被传递给它时,它可以返回整数值,如下图所示。

import ast
s = ast.literal_eval('0xffa')
print(s)

输出:

4090

注意,eval() 函数也可以执行同样的操作,但建议使用 ast.literal_eval()eval() 函数的速度非常慢,被认为是不安全的,使用起来很危险。ast.literal_value() 也只对部分 Python 数据类型进行评估,不像 eval() 函数,它对所有数据类型进行评估。

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python Hex