Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

String.fromCharCode()

BaselineWidely available

String.fromCharCode() 静的メソッドは、指定された UTF-16 コード単位の並びから生成された文字列を返します。

試してみましょう

console.log(String.fromCharCode(189, 43, 190, 61));// Expected output: "½+¾="

構文

js
String.fromCharCode(num1)String.fromCharCode(num1, num2)String.fromCharCode(num1, num2, /* …, */ numN)

引数

numN

UTF-16 コード単位を表す数値の並びです。範囲は0 から65535 (0xFFFF) までです。数値が0xFFFF を超えた場合は切り捨てられます。妥当性チェックは行われません。

返値

指定されたN 個の UTF-16 コード単位から生成された、長さN の文字列です。

解説

fromCharCode()String の静的メソッドなので、自分で生成したString オブジェクトのメソッドではなく、常にString.fromCharCode() として使用するようにしてください。

Unicode のコードポイントは0 から1114111 (0x10FFFF) までの範囲です。charAt() は常に65536 より小さい値を返しますが、これは上位のコードポイントは 16 ビットのサロゲート擬似文字のペアによって表されているからです。したがって、65535 より大きい値を持つ完全な文字を取得するには、charAt(i) だけでなくcharAt(i + 1) も取得するか(2 つの文字を持つ文字列を操作する場合と同じです)、またはcodePointAt(i)String.fromCodePoint() を使用する必要があります。Unicode に関する情報はUTF-16 文字、Unicode コードポイント、書記素クラスターを参照してください。

fromCharCode() は 16 ビット値のみで動作するため(\u エスケープシーケンスと同様)、補助文字を返すためにはサロゲートペアが必要です。例えば、String.fromCharCode(0xD83C, 0xDF03)\uD83C\uDF03 はコードポイントU+1F303 "Night with Stars" です。補助コードポイントの値(例:0x1f303)とそれを表す両方のサロゲート値(例:0xd83c0xdf03)との間には数学的な関係がありますが、補助コードポイントを使用するたびにサロゲートペアの値を計算したり参照したりする、余分なステップが必要になります。このため、実際のコードポイント値に基づいて補助文字を返すことができるString.fromCodePoint() を使用した方が便利です。例えば、String.fromCodePoint(0x1f303) はコードポイントU+1F303 "Night with Stars" を返します。

fromCharCode() の使用

BMP 文字は、 UTF-16 では単一のコード単位を使用します。

js
String.fromCharCode(65, 66, 67); // "ABC" を返すString.fromCharCode(0x2014); // "—" を返すString.fromCharCode(0x12014); // これも "—" を返す。1 の桁は削除され無視されるString.fromCharCode(8212); // これも "—" を返す。8212 は 0x2014 の 10 進数形

補助文字は、 UTF-16 では、 2 つのコード単位(すなわちサロゲートペア)を必要とします。

js
String.fromCharCode(0xd83c, 0xdf03); // Code Point U+1F303 "Night withString.fromCharCode(55356, 57091); // Stars" === "\uD83C\uDF03"String.fromCharCode(0xd834, 0xdf06, 0x61, 0xd834, 0xdf07); // "\uD834\uDF06a\uD834\uDF07"

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-string.fromcharcode

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp