4.8.1.7 StreamRecoder オブジェクト

StreamRecoder はエンコーディングデータの、フロントエンド-バック エンドを観察する機能を提供します。異なるエンコーディング環境を扱うとき、 便利な場合があります。

lookup() 関数が返すファクトリ関数を使って、インスタンスを生成 するという設計になっています。

クラス StreamRecoder( stream, encode, decode, Reader, Writer, errors)
双方向変換を実装する StreamRecoder インスタンスを生成します。 encodedecode はフロントエンド (read() への入 力とwrite()からの出力) を処理し、ReaderWriter は バックエンド (ストリームに対する読み書き) を処理します。

これらのオブジェクトを使って、たとえば、Latin-1 から UTF-8、あるいは逆 向きの変換を、透過に記録できます。

stream はファイル的オブジェクトでなくてはなりません。

encodedecodeCodec のインタフェースに忠 実でなくてはならず、ReaderWriter は、それぞれ StreamReaderStreamWriter のインタフェースを提供 するオブジェクトのファクトリ関数かクラスでなくてはなりません。

encodedecode はフロントエンドの変換に必要で、 ReaderWriter はバックエンドの変換に必要です。中間のフ ォーマットはコデックの組み合わせによって決定されます。たとえば、 Unicode コデックは中間エンコーディングに Unicode を使います。

エラー処理はストリーム・リーダやライタで定義されている方法と同じように 行われます。

StreamRecoder インスタンスは、StreamReaderStreamWriter クラスを合わせたインタフェースを定義します。また、 元のストリームのメソッドと属性も継承します。

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