Overview

Namespaces

  • Peach
    • DF
    • DT
    • Http
      • Body
      • Header
    • Markup
    • Util

Classes

  • Base64Codec
  • CodecChain
  • JsonCodec
  • SerializationCodec
  • Utf8Codec

Interfaces

  • Codec
  • Overview
  • Namespace
  • Class

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
Namespace: Peach\DF
Located at Peach/DF/Utf8Codec.php
Methods summary
public array
# decode( string $text )

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

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

Parameters

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

Returns

array
Unicode 符号点の配列

Implementation of

Peach\DF\Codec::decode()
public string
# encode( array|integer $var )

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

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

Parameters

$var
Unicode 符号点の配列

Returns

string
UTF-8 文字列

Implementation of

Peach\DF\Codec::encode()
PEACH2 API documentation generated by ApiGen