quopri --- 編碼和解碼 MIME 可列印字元資料

原始碼:Lib/quopri.py


該模組根據 RFC 1521:「MIME(多功能網際網路郵件擴充)第一部分:指定和描述網際網路訊息正文格式的機制」中的定義來執行可列印字元 (quoted-printable) 傳輸編碼和解碼。可列印字元編碼是為不可列印字元相對較少的資料而設計的;如果存在許多此類字元(例如發送圖形檔案時),則透過 base64 模組提供的 Base64 編碼方案會更加簡潔。

quopri.decode(input, output, header=False)

解碼 input 檔案的內容並將解碼後的二進位資料寫入 output 檔案。 inputoutput 必須是二進位檔案物件。如果可選參數 header 存在且為 true,則底線將被解碼為空格。這用於解碼如 RFC 1522:「MIME(多功能網際網路郵件擴充)第二部分:非 ASCII 文字的訊息標頭擴充」中所述的 "Q" 編碼標頭。

quopri.encode(input, output, quotetabs, header=False)

input 檔案的內容進行編碼,並將生成的可列印字元資料寫入 output 檔案。 inputoutput 必須是二進位檔案物件quotetabs,一個非可選旗標,控制是否對嵌入的空格和製表符號 (tab) 進行編碼;當為 true 時,它將對此類嵌入的空白進行編碼,當為 false 時,它將不對它們進行編碼。請注意,出現在列尾的空格和製表符號都會按照 RFC 1521 進行編碼。 header 是一個旗標,用於控制空格是否按照 RFC 1522 編碼為底線。

quopri.decodestring(s, header=False)

decode() 類似,不同之處在於它接受來源的 bytes 並回傳相應的已解碼 bytes

quopri.encodestring(s, quotetabs=False, header=False)

encode() 類似,不同之處在於它接受來源的 bytes 並回傳相應的已編碼 bytes。預設情況下,它向 encode() 函式的 quotetabs 參數發送一個 False 值。

也參考

base64 模組

對 MIME Base64 資料進行編碼和解碼