クラス: Peach_DF_Utf8Codec
定義: /Peach/DF/Utf8Codec.php
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 パターンにしていません.
メソッド 詳細
decode
line 59
array decode(string $text)
指定された UTF-8 の文字列を Unicode 符号点の配列に変換します.
encode
line 90
string encode(array|int $var)
指定された Unicode 符号点の配列を UTF-8 文字列に変換します.
引数には Unicode 符号点をあらわす正の整数の配列を指定してください. 配列以外の値を指定した場合は, その引数 (整数でない場合はメソッド内で整数に変換されます) を Unicode 符号点とみなし, 1 文字分の UTF-8 文字列を返します.