4.9.1.1 Codec オブジェクト

Codec クラスは以下のメソッドを定義します。これらのメソッドは、 内部状態を持たないエンコーダ/デコーダ関数のインタフェースを定義します。

encode( input[, errors])
オブジェクト input エンコードし、(出力オブジェクト, 消費した 長さ) のタプルを返します。 codecs は Unicode 専用ではありませんが、 Unicode の文脈では、エンコーディングは Unicode オブジェクトを 特定の文字集合エンコーディング(たとえば cp1252iso-8859-1)を使って文字列オブジェクトに変換します。

errors は適用するエラー処理を定義します。'strict' 処理が デフォルトです。

このメソッドは Codec に内部状態を保存してはなりません。効率 よくエンコード/デコードするために状態を保持しなければならない ような codecs には StreamCodec を使ってください。

エンコーダは長さが 0 の入力を処理できねばなりません。この場合、 空のオブジェクトを出力オブジェクトとして返さねばなりません。

decode( input[, errors])
オブジェクト input をデコードし、(出力オブジェクト, 消費した長 さ) のタプルを返します。Unicode の文脈では、デコードは特定の文字集合 エンコーディングでエンコードされた文字列を Unicode オブジェクトに変換 します。

inputbf_getreadbuf バッファスロットを提供するオブジェ クトでなければなりません。バッファスロットを提供しているオブジェクトには Python 文字列オブジェクト、バッファオブジェクト、メモリマップファイル があります。

errors は適用するエラー処理を定義します。'strict' がデフ ォルト値です。

このメソッドは、Codec インスタンスに内部状態を保存しては なりません。効率よくエンコード/デコードするために状態を保持しなけれ ばならないような codecs には StreamCodec を使ってください。

デコーダは長さが 0 の入力を処理できねばなりません。この場合、 空のオブジェクトを出力オブジェクトとして返さねばなりません。

StreamWriterStreamReader クラスは、新しいエンコーデ ィングモジュールを、非常に簡単に実装するのに使用できる、一般的なインターフ ェイス提供します。実装例は encodings.utf_8 をご覧ください。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。