HOWTO · JavaScript
JavaScript の Unicode
この記事は、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つのエスケープタイプ:
- 16 進エスケープ
- Unicode エスケープ
- コードポイントエスケープ
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: Ω"