###
3 IncrementalDecoder オブジェクト

`IncrementalDecoder` クラスは入力を複数ステップでデコードするのに 使われます。全ての漸増的デコーダが Python codec レジストリと互換性を持つために 定義すべきメソッドとして、このクラスには以下のメソッドが定義されています。

クラス `IncrementalDecoder`( | [errors])

  `IncrementalDecoder` インスタンスのコンストラクタ。

  全ての漸増的デコーダはこのコンストラクタインタフェースを提供しなければなりません。 さらにキーワード引数を付け加えるのは構いませんが、Python codec レジストリで 利用されるのはここで定義されているものだけです。

  `IncrementalDecoder` は errors キーワード引数を提供して 異なったエラー取扱方法を実装することもできます。あらかじめ定義されている パラメータは以下の通りです。

  - `'strict'` `ValueError` (またはそのサブクラス) を送出します。これがデフォルトです。
  - `'ignore'` 一文字無視して次に進みます。
  - `'replace'` 適当な代替文字で置き換えます。

  引数 errors は同名の属性に割り当てられます。属性に割り当てることで `IncrementalDecoder` オブジェクトが生きている間にエラー取扱戦略を 違うものに切り替えることができるようになります。

  errors 引数に許される値の集合は `register_error()` で 拡張できます。

`decode`( | object[, final])

  object を(デコーダの現在の状態を考慮に入れて)デコードし、 得られたデコードされたオブジェクトを返します。`decode` 呼び出し がこれで最後という時には final は真でなければなりません(デフォルトは偽です)。 もし final が真ならばデコーダは入力をデコードし切り全てのバッファを フラッシュしなければなりません。そうできない場合(たとえば入力の最後に 不完全なバイト列があるから)、デコーダは内部状態を持たない場合と同じように エラーの取り扱いを開始しなければなりません(例外を送出するかもしれません)。

`reset`( | )

  デコーダを初期状態にリセットします。

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