DF

クラス: 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 符号点の配列に変換します.

Tags

  • return : Unicode 符号点の配列
  • access : public

引数

string   $text   UTF-8 でエンコードされた文字列

定義

Peach_DF_Codec::decode()
指定された文字列を複合し, 別のデータ形式に変換します.

encode

line 90

string encode(array|int $var)

指定された Unicode 符号点の配列を UTF-8 文字列に変換します.

引数には Unicode 符号点をあらわす正の整数の配列を指定してください. 配列以外の値を指定した場合は, その引数 (整数でない場合はメソッド内で整数に変換されます) を Unicode 符号点とみなし, 1 文字分の UTF-8 文字列を返します.

Tags

  • return : UTF-8 文字列
  • access : public

引数

array|int   $var   Unicode 符号点の配列

定義

Peach_DF_Codec::encode()
指定された値を符号化し, 変換結果の文字列を返します.