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

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程