JavaScript の Unicode

Shiv Yadav 2023年10月12日
JavaScript の Unicode

この記事は、JavaScript への Unicode 文字の挿入を理解するのに役立ちます。

JavaScript の Unicode

ES2015 仕様によると、ソースコードテキストは Unicode(バージョン 5.1 以降)を使用して表されます。ソーステキストは、U+0000 から U+10FFFF の範囲のコードポイントで構成されています。

ソースコードをどのように保存または交換するかは、ECMAScript 標準にとって重要ではありません。ただし、多くの場合、UTF-8 としてエンコードされます。

JavaScript に Unicode 文字を挿入する方法は 2つあります。Unicode エスケープシーケンスと String.fromCodePoint を使用します。

Unicode エスケープシーケンス

文字列エスケープシーケンスは、コードポイント番号に基づいてコードユニットを伝達します。

JavaScript の 3つのエスケープタイプ:

  1. 16 進エスケープ
  2. Unicode エスケープ
  3. コードポイントエスケープ

Omega を挿入するには、Unicode エスケープシーケンス\u{XXXXXX} を使用して Unicode コードポイントをエスケープできます(X は、U+0000 から U+10FFFF の範囲の 1〜6 桁の 16 進数を示します、完全な Unicode をカバーします)。

たとえば、JavaScript 文字列に Omega、つまり(U+03A9)を挿入するには、次の方法で挿入できます。

const ome = 'Omega: \u{03A9}';
console.log(ome);

実行コード

出力:

"Omega: Ω"

Unicode は、BMP(Basic Multilingual Plane)に含まれていない追加の文字を含むように成長しました。これらの文字はサロゲートペアで表されます。これは、以前のバージョンの JavaScript では直接追加できないコードポイントです。

このような文字を適切に表すには、2つの隣接する Unicode エスケープシーケンスが必要になります。

JavaScript で String.fromCodePoint() を使用する

String.fromCodePoint() 関数を使用して、JavaScript 文字列に Unicode コードポイントを追加できます。入力として一連のコードポイント(10 進数、16 進数、8 進数など)を取ります。

たとえば、10 進コードポイントを使用してオメガを表示します。

const omee = `Omega: ${String.fromCodePoint(937)}`;
console.log(omee);

実行コード

出力:

"Omega: Ω"
著者: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn