ここで一句 JSで文字列を16bit単位ではなくUnicode Code Point単位で数える方法はいくつかあるが、結局2017年5月時点で(IE11のようなブラウザも含めて)ほとんどの環境で動作する方法はどれなんだろう。調べたのでまとめておきます、ご指摘あればどしどし(ง ‘-’ )ง 参考 JavaScript における文字コードと「文字数」の数え方 | blog.jxck.io Unicode のサロゲートペアとは何か - ひだまりソケットは壊れない JavaScriptでのサロゲートペア文字列のメモ - Qiita ECMAScript 6 compatibility table Unicode コードポイント Unicode では全ての文字にID(コードポイント)(0 ~ 0x10FFFF)をふっている。 コードポイントを表す時は U+{16進数} と書く。 UTF-16 では