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 をご覧ください。

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