
676
|
第 21 章 Email、MIME 與其他網路編碼
將二進位資料編碼為 ASCII 文字
有數種媒體(例如電子郵件訊息)只能含有 ASCII 文字。當你想要透過這
種媒體傳送任意的二進位資料,你就得將那些資料編碼為 ASCII 文字字
串。Python 標準程式庫提供了模組支援標準的編碼,例如 Base64、Quoted
Printable 與 UU。
base64 模組
base64
模組支援 RFC 3548 中規範的編碼 Base16、Base32 與 Base64。這些
編碼中每個都是將任意二進位資料表示為 ASCII 文字的簡潔方式,而不會
嘗試產生人類可讀的結果。
base64
提供 10 個函式:Base64 的有 6 個,加
上 Base32 和 Base16 各 2 個。那 6 個 Base64 函式為:
b64decode b64decode(s,altchars=None, validate=False)
解碼 Base64 所編碼的位元組字串
s
,並回傳解碼後的位元組字
串。
altchars
,若不為
None
,就必須是至少兩個字元(其餘的字元
會被忽略)的一個位元組字串,指定兩個非標準的字元用來取代
+
和
/
(可用來處理具 URL 安全性或檔案系統安全性的 Base64 編
碼字串)。
validate
只能在 v3 中傳入:若為
True
,當
s
含有的任
何位元組不是有效的 Base64 編碼字串,此呼叫會提出一個例外
(預設情況中,這種位元組單純會被忽略並跳過)。如果
s
沒有依
據 Base64 ...