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

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

字符串是一组字符,可以用来表示单个单词或整个短语。在Python中使用字符串很简单,因为它们不需要显式声明,可以使用或不使用指定符号进行定义。

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

在本文中,我们将找出如何在Python中将十六进制字符串转换为整数。

使用int()方法

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

如果给定的十六进制字符串具有“0x”前缀,则必须将第二个参数发送为0而不是16。

示例1

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

hex_str = "fe00"
print("给定的十六进制字符串为 ")
print(hex_str)
res = int(hex_str,16)
print("生成的整数为 ")
print(res)
Python

输出

上述示例的输出结果为,

给定的十六进制字符串为
fe00
生成的整数为
65024
Python

示例2

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

hex_str = "0xfa22"
print("给定的十六进制字符串为 ")
print(hex_str)
res = int(hex_str,0)
print("生成的整数为 ")
print(res)
Python

输出

上述程序的输出结果为,

给定的十六进制字符串为
0xfa22
生成的整数为
64034
Python

使用literal_eval()方法

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

示例

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

from ast import literal_eval
hex_str = "0xfe00"
print("给定的十六进制字符串为 ")
print(hex_str)
res = literal_eval(hex_str)
print("生成的整数为 ")
print(res)
Python

输出

上述示例的输出结果为,

给定的十六进制字符串为
0xfe00
生成的整数为
65024
Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册