MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/d6d7ff2e2f9c

Статичний метод String.fromCharCode() повертає рядок, створений з послідовності кодових одиниць Unicode переданих цілими числами.

Синтаксис

String.fromCharCode(num1[, ...[, numN]])

Параметри

num1, ..., numN
Послідовність цілих чисел, кожне з яких подає окрему кодову одиницю Unicode.

Вертає

Рядок із символів, що відповідають переданій послідовності значень (кодових одиниць) Unicode.

Опис

Цей метод вертає власне рядок, що належить до простого типу даних, а не об'єкт класу String.

Позаяк fromCharCode() є статичним методом класу String, він зазвичай використовується як String.fromCharCode(), а не як метод створеного об'єкта класу.

Приклади

Використання fromCharCode()

Наведений вираз повертає рядок "Віко":

// вертає "Віко"
String.fromCharCode(0x412, 0x456, 0x43A, 0x43E);

Обробка значень понад 0xFFFF

Попри свою назву, метод фактично приймає не коди символів, а саме кодові одиниці. Тобто символи, коди яких перевищують значення 0xFFFF (діапазон UCS-2), доведеться передавати двома кодовими одиницями:

Наприклад, символ з кодом U+1F341 «MAPLE LEAF» доведеться подавати як послідовність кодових одиниць 0xD83C та 0xDF41:

// виводить символ U+1F341 «MAPLE LEAF»
console.log(String.fromCharCode(0xD83C, 0xDF41));

Більшість символів Unicode можна передати значеннями одного 16-розрядного числа (як передбачалося на початку стандартизації JavaScript), тож fromCharCode() можна застосовувати для створення рядків із найпоширенішими символами (UCS-2 є підмножиною UTF-8, що містить найбільш вживані символи), проте для потреб передачі всіх можливих символів (кодуються 21 двійковим розрядом) лише методу fromCharCode() недостатньо. Позаяк символи з кодами вищими за 0xFFFF подаються так званими «сурогатними парами» (двома окремими кодовими одиницями), можна використати String.fromCodePoint() (є частиною стандарту ES2015), що належним чином перетворить вищі коди символів на такі пари:

// виводить true
console.log(String.fromCharCode(0xD83C, 0xDF41) === String.fromCodePoint(0x1F341));

Специфікації

Специфікація Статус Коментар
ECMAScript 1st Edition (ECMA-262) Standard Первинне визначення. Реалізовано у JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
The definition of 'StringfromCharCode' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.fromCharCode' in that specification.
Standard  
ECMAScript Latest Draft (ECMA-262)
The definition of 'String.fromCharCode' in that specification.
Living Standard  

Підтримка веб-переглядачами

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)

Див. також

Мітки документа й учасники

 Зробили внесок у цю сторінку: asmforce
 Востаннє оновлена: asmforce,