UTF-8をワード単位で数える
UTF-8の構造
必ず、多バイトの中の先頭が分かる仕掛け
00~7F であれば、1バイト形式の先頭
C2~DF であれば、2バイト形式の先頭
E0~EF であれば、3バイト形式の先頭
F0~F4 であれば、4バイト形式の先頭
80~BF であれば、途中
F5~FF であれば、不正 (以前は5バイト、6バイト形式のためだったが使わない事が決定された)
より小さいバイト数で表現できる場合は不正となる。
先にバリデーションをしておく必要がある。壊れているオクテット列を解釈してはならない。