Theme
SD MILIEU

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'と対応する「𩂰」に変換

参考

String.fromCharCode() - JavaScript | MDN

UCS-2 と UTF-8

Unicode 一覧 0000-0FFF - Wikipedia