【JSリファレンス】String.fromCharCode()
更新日:2024/06/14
String.fromCharCode()は、Stringコンストラクターのメソッドです。
数値で与えられたUTF-16コードを文字列に変換して返します。
同じような機能を持つメソッドにString.fromCodePoint()がありますが、String.fromCharCode()がコードユニット単位で指定する点に対して、String.fromCodePoint()がコードポイント単位で指定する点が異なります。
(※備考:コードユニットとコードポイント参照)
■構文
String.fromCharCode ( ...codeUnits )
- ...codeUnits: カンマで区切った任意個数の数値
■使用例
const a = 0x3042; // "あ"
const i = 0x3044; // "い"
const u = 0x3046; // "う"
console.log( String.fromCharCode(a,i,u) ) // "あいう"
▶サロゲートペアの場合
サロゲートペア(一文字を2つのUTF-16コードで表す文字)は、引数を二つ指定します。
// "🐈" の文字コード
const emoji1 = 0xd83d;
const emoji2 = 0xdc08;
console.log(
String.fromCharCode(emoji1,emoji2)
) // "🐈"
■備考
コードユニットとコードポイント
JavaScriptの内部で文字列は、16ビットを一つの単位としたUTF-16形式で扱われます。
このとき一単位をコードユニットと呼びます。
常用する文字の多くは一つのコードユニットで表すことができます。
しかし一部の文字は桁あふれを起こすため、二つのコードユニットで一文字を表します。
この組になる二つのコードユニットをサロゲートペアと呼んでいます。
コードポイントは、16ビットで表す前の文字コードです。
一単位で表せる文字は、コードポイントとコードユニットが同じ値になります。
そのため、String.fromCharCode()とString.fromCodePoint()は同じ結果を返します。
関連ページ
●String.prototype.charCodeAt()
●String.prototype.codePointAt()
●【JavaScript】 文字列データの内部形式と関連メソッドについてまとめてみた
更新日:2024/06/14
スポンサーリンク
記事の内容について
こんにちはけーちゃんです。
説明するのって難しいですね。
「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。
裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。
掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。
ご意見、ご指摘はこちら。
https://jsref.affi-sapo-sv.com/info.php
このサイトは、リンクフリーです。大歓迎です。