los static String.fromCharCode() método devuelve un string creado a partir de la secuencia especificada de unidades de código UTF-16.

Sintaxis

String.fromCharCode(num1)
String.fromCharCode(num1, num2)
String.fromCharCode(num1, num2,..., numN)

Parámetros

num1, ..., numN
Una secuencia de números que son unidades de código UTF-16. El rango está entre 0 y 65535 (0xFFFF). Números mayores que 0xFFFF están truncados. No se realizan comprobaciones de validez.

Valor de retorno

A string de longitud N que consiste en el N unidades de código UTF-16 especificadas.

Descripción

Este método devuelve un string y no un String objeto.

Porque fromCharCode() es un static método de Stringsiempre lo usas como String.fromCharCode()más que como un método de String objeto que creaste.

Devolución de caracteres suplementarios

En UTF-16, los caracteres más comunes se pueden representar mediante un solo valor de 16 bits (es decir, una unidad de código). Sin embargo, este conjunto de caracteres, conocido como Base Multilingual Plane (BMP), solo es 1/17el del total de puntos de código Unicode direccionables. Los puntos de código restantes, en el rango de 65536 (0x010000) para 1114111 (0x10FFFF) se conocen como caracteres suplementarios. En UTF-16, los caracteres complementarios están representados por dos unidades de código de 16 bits, conocidas como sustitutos, que se reservaron para este propósito. Una combinación válida de dos sustitutos utilizados para representar un carácter complementario se conoce como par sustituto.

Porque fromCharCode() solo funciona con valores de 16 bits (igual que el u secuencia de escape), se requiere un par suplente para devolver un carácter suplementario. Por ejemplo, ambos String.fromCharCode(0xD83C, 0xDF03) y uD83CuDF03 punto de código de retorno U+1F303 “Noche de Estrellas”.

Si bien existe una relación matemática entre el valor del punto de código suplementario (p. ej. 0x1F303) y ambos valores sustitutos que lo representan (p. ej., 0xD83C y 0xDF03), requiere un paso adicional para calcular o buscar los valores del par suplente cada vez que se utiliza un punto de código complementario. Por esta razón, es más conveniente usar String.fromCodePoint() (parte del estándar ES2015), que permite devolver caracteres adicionales en función de su valor de punto de código real. Por ejemplo, String.fromCodePoint(0x1F303) devuelve el punto de código U+1F303 “Noche de Estrellas”.

Ejemplos

Usando fromCharCode()

Los caracteres BMP, en UTF-16, usan una sola unidad de código:

String.fromCharCode(65,66,67);// returns "ABC"
String.fromCharCode(0x2014);// returns "—"
String.fromCharCode(0x12014);// also returns "—"; the digit 1 is truncated and ignored
String.fromCharCode(8212);// also returns "—"; 8212 is the decimal form of 0x2014

Los caracteres complementarios, en UTF-16, requieren dos unidades de código (es decir, un par sustituto):

String.fromCharCode(0xD83C,0xDF03);// Code Point U+1F303 "Night with
String.fromCharCode(55356,57091);// Stars" == "uD83CuDF03"

String.fromCharCode(0xD834,0xDF06,0x61,0xD834,0xDF07);// "uD834uDF06auD834uDF07"

Especificaciones

Especificación
ECMAScript (ECMA-262)
La definición de ‘String.fromCharCode’ en esa especificación.

Compatibilidad del navegador

Escritorio Móvil
Cromo Borde Firefox explorador de Internet Ópera Safari WebView Android cromo androide Firefox para Android Ópera Android Safari en IOS Samsung Internet
fromCharCode 1 12 1 4 4 1 1 18 4 10.1 1 1.0

Ver también

  • String.fromCodePoint()
  • String.prototype.charAt()
  • String.prototype.charCodeAt()
  • String.prototype.codePointAt()