Top > UTF-8
[[Unicode]] > [[UTF]]

- [[CESU-8]] (Oracle による悪行)
- [[WTF-8]] (サロゲートペア関連)

*. [#qacf93a6]

- UTF-8でエンコードされた文字列の文字数を取得するコード
--  http://59log.com/?func=detail&id=2243
 1バイト目の先頭ビットが0の場合は1バイト文字
 1バイト目の先頭から3ビットが110の場合は2バイト文字
 1バイト目の先頭から4ビットが1110の場合は3バイト文字
 1バイト目の先頭から5ビットが11110の場合は4バイト文字
 1バイト目の先頭から6ビットが111110の場合は5バイト文字
 1バイト目の先頭から7ビットが1111110の場合は2バイト文字
- UTF8の文字数を数える
--  http://shnya.jp/blog/?p=164
 また先頭バイト以外は上位ビットが「10」から始まるので、文字境界は一意に定まります。
 例)
 1バイト文字: 0XXXXXXXX
 2バイト文字: 110xxxxxx 10XXXXXX
 3バイト文字: 1110xxxxx 10XXXXXX 10XXXXXX


- UTF-8 and Unicode FAQ for Unix/Linux
--  http://www.cl.cam.ac.uk/~mgk25/unicode.html

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes