Class Utf8Codec
UTF-8 で符号化された文字列を扱う Codec です. このクラスの decode メソッドは, UTF-8 の文字列を文字単位で分解し, 各文字の Unicode 符号点をあらわす整数の配列を返します. encode メソッドは, 整数の配列を UTF-8 の文字列に変換します.
UTF-8 のビットパターンは以下の通りです.
0xxxxxxx (00-7f) 110xxxxx 10xxxxxx (c0-df)(80-bf) 1110xxxx 10xxxxxx 10xxxxxx (e0-ef)(80-bf)(80-bf) 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx (f0-f7)(80-bf)(80-bf)(80-bf) 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx (f8-fb)(80-bf)(80-bf)(80-bf)(80-bf) 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx (fc-fd)(80-bf)(80-bf)(80-bf)(80-bf)(80-bf)
RFC 3629 では 5 バイト以上のシーケンスが無効とされましたが, このクラスは RFC 2279 に基づいて 5 バイト以上のシーケンスも受理します. なお, このクラスはサロゲートペアを考慮しません.
引用文献: UTF-8 - Wikipedia
このクラスは将来的に状態 (メンバ変数) を持つ可能性が高いので, 敢えて Singleton パターンにしていません.
- Peach\DF\Utf8Codec implements Peach\DF\Codec
public
array
|
|
public
string
|