JavaScript Unicodeから文字を取得(fromCodePoint)

JavaScriptのUnicodeのコードポイント値から文字を取得するサンプルです。fromCodePointを使用します。

目次

サンプル fromCodePointとは
  Unicodeコードポイントから文字を取得する
  fromCharCode(サロゲートペア文字列未対応)

fromCodePointとは

String.fromCodePoint(Unicodeの数値[, ...[, Unicodeの数値]])
  • Unicodeの文字コード(Unicodeコードポイント)から文字を生成します。
  • サロゲートペア文字列に対応しています。

Unicodeコードポイントから文字を取得する

<script>
  console.log(String.fromCodePoint(65, 66)); // AB

  console.log(String.fromCodePoint(12354, 12356)); // あい

  //サロゲートペア文字列
  console.log(String.fromCodePoint(134071)); // 𠮷

  const a = (134071).toString(16);
  console.log(a); // 20bb7
</script>

2行目は、65が「A」で66が「B」になります。
4行目は、12354が「あ」で12356が「い」になります。
7行目は、サロゲートペア文字の「つちよし」ですが正常に文字が表示されています。
9行目は、16進数にしています。

文字コードは秀丸やサクラエディタで確認できます。

秀丸で見た場合

Unicodeコードポイントは、U+16進数で記述されます。

 

fromCharCode(サロゲートペア文字列未対応)

String.fromCharCode(Unicodeの数値[, ...[, Unicodeの数値]])
  • Unicodeの文字コード(Unicodeコードポイント)から文字を生成します。
  • サロゲートペア文字列に対応していません
<script>
  console.log(String.fromCharCode(65, 66)); // AB

  console.log(String.fromCharCode(12354, 12356)); // あい

  //サロゲートペア文字列
  console.log(String.fromCharCode(134071)); // 文字化け
</script>

2行目は、65が「A」で66が「B」になります。
4行目は、12354が「あ」で12356が「い」になります。
7行目は、サロゲートペア文字の「つちよし」ですが対応していないので文字化けで表示されます。

以下はMDNのfromCodePointメソッドのリンクです。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint

関連の記事

JavaScript 文字列から1文字を取得する(charAt)
JavaScript 文字コードを取得する(charCodeAt)
JavaScript 文字からUnicodeを取得(codePointAt)
UnicodeとUTF-16とUTF-8の違い(秀丸で文字コードを確認)

△上に戻る