タグ

C++とUnicodeに関するp_tanのブックマーク (1)

  • C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita

    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として登録されてい

    C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita
    p_tan
    p_tan 2018/12/23
    文字の単位、書記素というのか…。UTF-32はすべての文字が32bitだと思っていたけど、そうか、異字体セレクタ…。RustのChar型ってUTF-32じゃなかったけっけ?
  • 1