如何在Python中將十六進位制字串轉換為整數?


在Python中,字串是一組字元,可以用來表示單個單詞或整個短語。字串在Python中易於使用,因為它們不需要顯式宣告,並且可以用或不用說明符定義。

在Python中,名為string的類表示字串。這個類提供了幾個內建方法,使用這些方法,我們可以對字串執行各種操作。

在這篇文章中,我們將瞭解如何在Python中將十六進位制字串轉換為整數。

使用int()方法

一種方法是使用內建整數型別轉換方法int()。我們有兩個引數,第一個是字串,第二個是給定字串所在的基數,即由於輸入字串是十六進位制字串,因此必須將16作為第二個引數傳遞。

如果給定的十六進位制字串前面帶有"0x"字首,則必須將第二個引數設定為0而不是16。

示例1

在下面的程式中,我們以十六進位制字串作為輸入,並使用帶基數16的int()型別轉換方法將其轉換為整數。

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()方法

您可以使用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.