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 形式データのエンコードおよびデコード
