如何在 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 前缀的十六进制字符串作为输入,并使用 int() 方法(基数为 0)将其转换为整数。

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+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告