Python 如何将十六进制字符串转换为整数
一个字符串是一组字符,可以用来表示一个单词或整个短语。在Python中使用字符串非常简单,因为它们不需要显式声明,并且可以带有或不带有特定的说明符来定义。
在Python中,字符串的类名为string。该类提供了几个内置方法,使用这些方法我们可以对字符串进行各种操作。
在本文中,我们将了解如何在Python中将十六进制字符串转换为整数。
使用int()方法
实现这个的一种方法是使用内置的整数类型转换方法int()。我们有两个参数,第一个参数是字符串,第二个参数是给定字符串的进制,即由于输入字符串是十六进制字符串,所以您必须将16作为第二个参数传递。
如果给定的十六进制字符串有一个前缀”0x”,那么我们必须将第二个参数设置为0而不是16。
示例1
在下面的程序中,我们输入一个十六进制字符串,并使用int()类型转换方法将其转换为整数,进制为16。
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()方法
您可以使用Python中ast(抽象语法树)库的literal_eval()方法将十六进制字符串转换为整数。我们需要将十六进制字符串传递给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