4.9.1 Codec 基底クラス

codecs は、インターフェイスを定義し、自前の Python 用 codec を、簡単に書くのに使える基底クラス群を定義してあります。

各 codec は、Python の codec として使えるように、4つのインターフェイスを 定義しなければなりません。状態なしエンコーダ、状態なしデコーダ、ストリー ムリーダ、ストリームライタです。ストリームリーダとライタは、通常、状態な しエンコーダとデコーダを再利用して、ファイル・プロトコルを実装します。

Codec クラスは、状態なしエンコーダ・デコーダのインターフェイスを 定義します。

エラー処理を簡便化し、安定させるために、encode() メソッドと decode() メソッドは、errors 文字列引数を提供することで、 異なるエラー処理の仕組みを実装してもかまいません。以下の文字列は全ての標 準 Python codec で定義および実装されています。

Value  Meaning 
'strict' UnicodeError (または、そのサブクラス)を 発生 - これがデフォルト。
'ignore' その文字を無視し、次の文字から変換を再開
'replace' 適当な文字で置換 - Python の組み込み Unicode codec のデコード時には公 式の U+FFFD REPLACEMENT CHARACTER を、エンコード時 には '?' を使う
'xmlcharrefreplace' 適切な XML 文字参照で置換(エンコードのみ)
'backslashreplace' バックスラッシュつきのエスケープシーケンス で置換(エンコードのみ)

受け付ける値は、register_error を使って追加できます。



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