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