4.8.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 の入力を処理できねばなりません。この場合、 空のオブジェクトを出力オブジェクトとして返さねばなりません。

IncrementalEncoder クラスおよび IncrementalDecoder クラスは それぞれ漸増的エンコーディングおよびデコーディングのための基本的なインタフェースを提供 します。エンコーディング/デコーディングは内部状態を持たないエンコーダ/デコーダを 一度呼び出すことで行なわれるのではなく、漸増的エンコーダ/デコーダの encode/decode メソッドを複数回呼び出すことで行なわれます。 漸増的エンコーダ/デコーダはメソッド呼び出しの間エンコーディング/デコーディング処理の 進行を管理します。

encode/decode メソッド呼び出しの出力結果をまとめたものは、 入力をひとまとめにして内部状態を持たないエンコーダ/デコーダでエンコード/デコード したものと同じになります。

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