19.9. quopri --- MIME quoted-printable 形式データのエンコードおよびデコード

ソースコード: Lib/quopri.py


このモジュールは RFC 1521: "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies" で定義されている quoted-printable による伝送のエンコードおよびデコードを行います。 quoted-printable エンコーディングは比較的印字不可能な文字の少ないデータのために設計されています; 画像ファイルを送るときのように印字不可能な文字がたくさんある場合には、 base64 モジュールで利用できる base64 エンコーディングのほうがよりコンパクトになります。

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

ファイル input の内容をデコードして、デコードされたバイナリデータをファイル output に書き出します。 input および outputバイナリファイルオブジェクト でなければなりません。オプション引数 header が存在し、かつその値が真である場合、アンダースコアは空白文字にデコードされます。これは RFC 1522: "MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text" で記述されているところの "Q"-エンコードされたヘッダをデコードするのに使われます。

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

ファイル input の内容をエンコードして、その結果の quoted-printable データをファイル output に書き出します。 input および outputバイナリファイルオブジェクト でなければなりません。 quotetabs は、内容に含まれている空白とタブ文字をエンコードするかどうかを制御する必須のフラグで、真のときは空白文字をエンコードし、偽のときはエンコードしないままにしておきます。 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 形式データのエンコードおよびデコード