Javascriptとかいう変態は置いておいて少なくともC++でstringのlengthといったらこれですね。 code points 何コードポイントか、という数え方です。 U+0061, U+0928, U+093F, U+4E9C, U+10083 というのは5コードポイントですね。 ちなみにUTF-32のときのCode Unit数と同一です。 grapheme cluster 何書記素クラスタか、という数え方です。 (aनि亜𐂃) 人間が見たときに一文字と解釈するかという考え方です。 例えばनिはコードポイントで見るとU+0928(न), U+093F(ि)という2コードポイントで表されます。しかしこれを別々の文字とは人間は解釈せず、一文字と認識します。 他の例も見てみましょう。 प,ू,र,ी,त,ि 👩❤️💋👨 kiss: woman, manとして登録されてい

