如何在Python中將位元組轉換為整數?


在本教程中,我們將探討在Python中將位元組轉換為整數的不同方法。將位元組轉換為整數是在處理二進位制資料(例如從檔案或網路套接字讀取資料)時的一項常見任務。透過將位元組轉換為整數,我們可以執行各種算術和邏輯運算,解釋資料並根據需要操作資料。因此,讓我們深入瞭解如何在Python中無縫地將位元組轉換為整數。

如何使用`int.from_bytes()`方法在Python中將位元組轉換為整數?

`int.from_bytes()`方法允許我們從給定的位元組序列建立一個整數。它接受兩個引數:我們要轉換的位元組和位元組序,它指定位元組的排列方式。位元組序可以是“大端”或“小端”,具體取決於記憶體中位元組的排列方式。

為了說明此方法,請考慮以下示例。假設我們有一個表示小端位元組序中數字170的四個位元組序列:`bytes = b'\xAA\x00\x00\x00'`。我們可以使用`int.from_bytes()`方法將這些位元組轉換為整數,如下所示

示例

bytes = b'\xAA\x00\x00\x00'
integer = int.from_bytes(bytes, byteorder='little')
print(integer)

在這個例子中,我們傳遞`bytes`變數並將位元組序指定為'little',表示最低有效位元組放在前面。輸出將是

輸出

170

`int.from_bytes()`方法還提供可選引數,我們可以利用這些引數來更精細地控制轉換過程。`signed`引數設定為`True`時,允許將位元組序列解釋為有符號整數。如果省略或設定為`False`,則生成的整數將是無符號的。例如,讓我們修改之前的示例以將位元組解釋為有符號整數

示例

bytes = b'\xAA\x00\x00\x00'
integer = int.from_bytes(bytes, byteorder='little', signed=True)
print(integer)

如您所見,我們在`int.from_bytes()`方法中將`signed`引數設定為`True`,表示生成的整數將是有符號的。在這種情況下,輸出將是

輸出

-86

如您所見,透過將`signed`引數指定為`True`,我們將位元組序列解釋為有符號整數,結果輸出為`-86`。因此,我們已成功地將位元組轉換為Python中的整數。

結論

在本教程中,我們探討了使用`int.from_bytes()`方法在Python中將位元組轉換為整數的過程。將位元組轉換為整數是在處理二進位制資料時一項至關重要的技能,使我們能夠執行算術運算、解釋資料並根據需要操作資料。我們對`int.from_bytes()`方法進行了清晰的解釋,並透過示例演示了其用法。我們展示瞭如何將表示小端位元組序中數字170的位元組序列轉換為整數。此外,我們還討論了可選引數,例如`signed`引數,它允許我們將位元組序列解釋為有符號整數。我們為每種方法都提供了示例,並展示了它們的輸出。

更新於:2023年7月21日

26K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告