quopri --- 編碼與解碼經(jīng)過 MIME 轉(zhuǎn)碼的可打印數(shù)據(jù)?

源代碼: Lib/quopri.py


此模塊會執(zhí)行轉(zhuǎn)換后可打印的傳輸編碼與解碼,具體定義見 RFC 1521: "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies"。 轉(zhuǎn)換后可打印的編碼格式被設(shè)計(jì)用于只包含相對較少的不可打印字符的數(shù)據(jù);如果存在大量這樣的字符,通過 base64 模塊所提供的 base64 編碼方案會更為緊湊,例如當(dāng)發(fā)送圖片文件時(shí)。

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

解碼 input 文件的內(nèi)容并將已解碼二進(jìn)制數(shù)據(jù)結(jié)果寫入 output 文件。 inputoutput 必須為 二進(jìn)制文件對象。 如果提供了可選參數(shù) header 且為真值,下劃線將被解碼為空格。 此函數(shù)可用于解碼“Q”編碼的頭數(shù)據(jù),具體描述見 RFC 1522: "MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text"。

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

編碼 input 文件的內(nèi)容并將轉(zhuǎn)換后可打印的數(shù)據(jù)結(jié)果寫入 output 文件。 inputoutput 必須為 二進(jìn)制文件對象. quotetabs 是一個(gè)非可選的旗標(biāo),它控制是否要編碼內(nèi)嵌的空格與制表符;當(dāng)為真值時(shí)將編碼此類內(nèi)嵌空白符,當(dāng)為假值時(shí)則保持原樣不進(jìn)行編碼。 請注意出現(xiàn)在行尾的空格與制表符總是會被編碼,具體描述見 RFC 1521。 header 旗標(biāo)控制空格符是否要編碼為下劃線,具體描述見 RFC 1522。

quopri.decodestring(s, header=False)?

類似 decode(),區(qū)別在于它接受一個(gè)源 bytes 并返回對應(yīng)的已解碼 bytes。

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

類型 encode(),區(qū)別在于它接受一個(gè)源 bytes 并返回對應(yīng)的已編碼 bytes。 在默認(rèn)情況下,它會發(fā)送 False 值給 encode() 函數(shù)的 quotetabs 形參。

參見

模塊 base64

編碼與解碼 MIME base64 數(shù)據(jù)