如何在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
广告