Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. 標準組み込みオブジェクト
  5. String
  6. fromCharCode()

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

View in EnglishAlways switch to English

String.fromCharCode()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

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

試してみましょう

console.log(String.fromCharCode(189, 43, 190, 61));// 予想される結果: "½+¾="

構文

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

引数

num1, …,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