- UTF-8、UTF-16、およびUTF-32間の相互運用方法 -- http://www.ibm.com/developerworks/jp/java/library/j-u-encode.html * UTF-8 [#utf-8] - 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 * 関連 [#rel] - [[Unicode]] |