如何在Python中将十六进制字符串转换为整数?


在Python中,字符串是一组字符,可以用来表示单个单词或整个短语。字符串在Python中易于使用,因为它们不需要显式声明,并且可以用或不用说明符定义。

在Python中,名为string的类表示字符串。这个类提供了几个内置方法,使用这些方法,我们可以对字符串执行各种操作。

在这篇文章中,我们将了解如何在Python中将十六进制字符串转换为整数。

使用int()方法

一种方法是使用内置整数类型转换方法int()。我们有两个参数,第一个是字符串,第二个是给定字符串所在的基数,即由于输入字符串是十六进制字符串,因此必须将16作为第二个参数传递。

如果给定的十六进制字符串前面带有"0x"前缀,则必须将第二个参数设置为0而不是16。

示例1

在下面的程序中,我们以十六进制字符串作为输入,并使用带基数16的int()类型转换方法将其转换为整数。

hex_str = "fe00" print("The given hex string is ") print(hex_str) res = int(hex_str,16) print("The resultant integer is ") print(res)

输出

上面示例的输出是:

The given hex string is
fe00
The resultant integer is
65024

示例2

在下面的示例中,我们以带有0x前缀的十六进制字符串作为输入,并使用基数为0的int()方法将其转换为整数。

hex_str = "0xfa22" print("The given hex string is ") print(hex_str) res = int(hex_str,0) print("The resultant integer is ") print(res)

输出

上面程序的输出是:

The given hex string is
0xfa22
The resultant integer is
64034

使用literal_eval()方法

您可以使用ast(抽象语法树)库的literal_eval() 方法将十六进制字符串转换为Python中的整数。我们必须将十六进制字符串传递给literal_eval()函数,没有参数,该函数将十六进制字符串转换为整数。

示例

在下面的示例中,我们使用ast 库的literal_eval()方法将十六进制字符串转换为整数。

from ast import literal_eval hex_str = "0xfe00" print("The given hex string is ") print(hex_str) res = literal_eval(hex_str) print("The resultant integer is ") print(res)

输出

上面示例的输出是:

The given hex string is
0xfe00
The resultant integer is
65024

更新于:2023年8月24日

45K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告