18.15. "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])

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

quopri.encode(input, output, quotetabs)

   ファイル *input* の内容をエンコードして、quoted-printable 形式にエ
   ンコードされたデータをファイル *output* に書き出します。 *input* お
   よび *output* はファイルか、ファイルオブジェクトのインタフェースを
   真似たオブジェクトでなければなりません。 *input* は
   "input.readline()" が空文字列を返すまで読みつづけられます。
   *quotetabs* はデータ中に埋め込まれた空白文字やタブを変換するかどう
   か制御するフラグです; この値が真なら、それらの空白をエンコードしま
   す。偽ならエンコードせずそのままにしておきます。行末のスペースやタ
   ブは **RFC 1521** に従って常にエンコードされるので注意してください
   。

quopri.decodestring(s[, header])

   "decode()" に似ていますが、文字列を入力として受け取り、デコードされ
   た文字列を返します。

quopri.encodestring(s[, quotetabs])

   "encode()" に似ていますが、文字列を入力として受け取り、エンコードさ
   れた文字列を返します。 *quotetabs* はオプション (デフォルトは 0 で
   す) で、この値はそのまま "encode()" に渡されます。

参考:

  "mimify" モジュール
     MIME メッセージを処理するための汎用ユーティリティ。

  "base64" モジュール
     MIME base64 形式データのエンコードおよびデコード
