如何在 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+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.