2017-7-22
fromCharCodeに関して
fromCharCode の変換ルールが最初意味不明だったのでメモ。
要約
- 引数で渡された値をUnicode 表を元に文字に変換して返却
- UCS-2 なので、2バイトの範囲内の文字しか変換出来ない。より広範囲の文字を変換したい場合は fromCodePoint を使用する。
実例
console.log(String.fromCharCode('0x0410', '0x000290b0'));
// => А邰
// 2バイト文字までしか変換できないので、'0x000290b0'が'0x90b0'として判定され対応する「邰」に変換される
console.log(String.fromCodePoint('0x0410', '0x000290b0'));
// => А𩂰
// こちらは正常に'0x000290b0'と対応する「𩂰」に変換