Python 中 Base64 字串的編碼和解碼
在 Python 程式設計中,對 Base64 字串進行編碼和解碼是一項常見的任務。Base64 編碼用於將二進位制資料轉換為可以透過網際網路傳輸的格式,而解碼則用於將 Base64 編碼的資料轉換回其原始格式。在本文中,我們將探討如何在 Python 中對 Base64 字串進行編碼和解碼,包括可用的不同方法和庫。
瞭解 Base64 編碼
Base64 編碼是一種二進位制到文字的編碼方案,它以 ASCII 字串格式表示二進位制資料。它通常用於透過網際網路傳輸資料或以易於傳輸的格式儲存資料。編碼過程將二進位制資料轉換為由 64 個字元組成的字串,這些字元包括 26 個大寫字母、26 個小寫字母、10 個數字以及兩個通常用作填充的附加字元。
Base64 編碼通常用於編碼需要透過電子郵件、FTP 或其他網際網路協議傳輸的資料。它也用於 Web 應用程式中,以易於傳輸的格式儲存影像、影片和其他二進位制資料。
在 Python 中編碼 Base64 字串
在 Python 中編碼 Base64 字串的方法有很多,包括使用 base64 模組、codecs 模組和 b64encode 方法。
使用 Base64 模組
示例
base64 模組提供了在 Python 中編碼和解碼 Base64 字串的功能。要使用此模組對字串進行編碼,可以使用 b64encode 方法,如下所示:
import base64
my_string = "Hello, World!"
encoded_string = base64.b64encode(my_string.encode("utf-8"))
print(encoded_string)
輸出
這將生成以下輸出:
b'SGVsbG8sIFdvcmxkIQ=='
在上面的示例中,我們首先匯入 base64 模組。然後,我們定義一個名為 my_string 的字串變數,我們希望對其進行編碼。然後,我們使用 encode() 方法將字串轉換為位元組物件,並將其作為引數傳遞給 b64encode() 方法,該方法返回 Base64 編碼的字串。最後,我們將編碼後的字串列印到控制檯。
使用 Codecs 模組
示例
codecs 模組提供了以不同格式(包括 Base64)編碼和解碼資料的功能。要使用此模組對字串進行編碼,可以使用 base64.b64encode() 方法,如下所示:
import codecs
my_string = "Hello, World!"
encoded_string = codecs.encode(my_string.encode("utf-8"), "base64")
print(encoded_string)
輸出
這將生成以下輸出:
b'SGVsbG8sIFdvcmxkIQ==\n'
在上面的示例中,我們首先匯入 codecs 模組。然後,我們定義一個名為 my_string 的字串變數,我們希望對其進行編碼。然後,我們使用 encode() 方法將字串轉換為位元組物件,並將其作為引數傳遞給 codecs.encode() 方法,該方法以 Base64 格式對資料進行編碼。最後,我們將編碼後的字串列印到控制檯。
使用 b64encode 方法
示例
b64encode() 方法是 Python 中的內建方法,用於以 Base64 格式對資料進行編碼。要使用此方法對字串進行編碼,可以使用以下程式碼:
import base64
my_string = "Hello, World!"
encoded_string = base64.b64encode(my_string.encode("utf-8"))
print(encoded_string)
輸出
這將生成以下輸出:
b'SGVsbG8sIFdvcmxkIQ=='
在上面的示例中,我們首先匯入 base64 模組。然後,我們定義一個名為 my_string 的字串變數,我們希望對其進行編碼。然後,我們使用 encode() 方法將字串轉換為位元組物件,並將其作為引數傳遞給 b64encode() 方法,該方法返回 Base64 編碼的字串。最後,我們將編碼後的字串列印到控制檯。
在 Python 中解碼 Base64 字串
Base64 字串編碼後,可以使用 Python 中的 base64 模組或 codecs 模組將其解碼回原始格式。
使用 Base64 模組
示例
要使用 Python 中的 base64 模組解碼 Base64 字串,可以使用 b64decode() 方法,如下所示:
import base64
my_string = "SGVsbG8sIFdvcmxkIQ=="
decoded_string = base64.b64decode(my_string)
print(decoded_string.decode("utf-8"))
輸出
這將生成以下輸出:
Hello, World!
在上面的示例中,我們首先匯入 base64 模組。然後,我們定義一個名為 my_string 的 Base64 編碼字串變數,我們希望對其進行解碼。然後,我們使用 b64decode() 方法解碼 Base64 字串,該方法返回一個位元組物件。最後,我們使用 decode() 方法將位元組物件轉換為字串並將其列印到控制檯。
使用 Codecs 模組
示例
要使用 Python 中的 codecs 模組解碼 Base64 字串,可以使用 base64.b64decode() 方法,如下所示:
import codecs
my_string = "SGVsbG8sIFdvcmxkIQ=="
decoded_string = codecs.decode(my_string.encode("utf-8"), "base64").decode("utf-8")
print(decoded_string)
這將生成以下輸出:
Hello, World!
在上面的示例中,我們首先匯入 codecs 模組。然後,我們定義一個名為 my_string 的 Base64 編碼字串變數,我們希望對其進行解碼。然後,我們使用 encode() 方法將字串轉換為位元組物件,並將其作為引數傳遞給 codecs.decode() 方法,該方法以 Base64 格式解碼資料。最後,我們使用 decode() 方法將位元組物件轉換為字串並將其列印到控制檯。
結論
Base64 編碼和解碼是 Python 程式設計中的一項常見任務。在本文中,我們探討了使用 base64 模組和 codecs 模組在 Python 中編碼和解碼 Base64 字串的不同方法。我們還學習瞭如何使用 b64encode() 和 b64decode() 方法執行編碼和解碼任務。使用這些工具,您可以輕鬆地將二進位制資料轉換為 Base64 格式以透過網際網路傳輸,或以易於傳輸的格式儲存 Base64 編碼的資料。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP