# 12.15 `quopri` -- MIME quoted-printable 形式データのエンコードおよびデコード

このモジュールは 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 エンコーディングのほうがよりコンパクトになります。

`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''-エンコードされたヘッダをデコードするの に使われます。

`encode`( | input, output, quotetabs)

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

`decodestring`( | s[,header])

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

`encodestring`( | s[, quotetabs])

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

参考資料:

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

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