Saltar al contenido

Insertar carácter Unicode en JavaScript

Solución:

Supongo que realmente quieres Omega ser un cadena que contiene una omega mayúscula? En ese caso, puede escribir:

var Omega="u03A9";

(Debido a que Ω es el carácter Unicode con el punto de código U + 03A9; es decir, 03A9 es 937, excepto escrito como cuatro dígitos hexadecimales.)

Aunque @ruakh dio una buena respuesta, agregaré algunas alternativas para completar:

De hecho, podrías usar incluso var Omega="Ω" en JavaScript, pero solo si su código JavaScript es:

  • dentro de un atributo de evento, como en onclick="var Omega="&#937";
    alert(Omega)"
    o
  • en un script elemento dentro de un documento XHTML (o XHTML + XML) servido con un tipo de contenido XML.

En estos casos, el código será analizado primero (antes de pasarlo al intérprete de JavaScript) por un analizador HTML para que las referencias de caracteres como Ω son reconocidos. Las restricciones hacen que este sea un enfoque poco práctico en la mayoría de los casos.

También puede ingresar el carácter Ω como tal, como en var Omega="Ω", pero luego la codificación de caracteres debe permitir eso, la codificación debe declararse correctamente y necesita un software que le permita ingresar dichos caracteres. Esta es una solución limpia y bastante factible si usa la codificación UTF-8 para todo y está preparado para lidiar con los problemas creados por ella. El código fuente será legible y, al leerlo, verá inmediatamente el carácter en sí, en lugar de las notaciones del código. Por otro lado, puede causar sorpresas si otras personas comienzan a trabajar con su código.

Utilizando el u notación, como en var Omega="u03A9", funciona independientemente de la codificación de caracteres y, en la práctica, es casi universal. Sin embargo, puede usarse como tal solo hasta U + FFFF, es decir, hasta uffff, pero la mayoría de los personajes de los que la mayoría de la gente ha oído hablar caen en esa área. (Si necesita caracteres “superiores”, debe utilizar pares sustitutos o uno de los dos enfoques anteriores).

También puedes construir un personaje usando el String.fromCharCode() método, pasando como parámetro el número Unicode, en decimal como en var Omega = String.fromCharCode(937) o en hexadecimal como en var Omega = String.fromCharCode(0x3A9). Esto funciona hasta U + FFFF. Este enfoque se puede utilizar incluso cuando tiene el número Unicode en una variable.

Una opción es poner el personaje literalmente en su guión, por ejemplo:

const omega="Ω";

Esto requiere que le comunique al navegador la codificación de origen correcta, consulte Unicode en JavaScript

Sin embargo, si no puede o no quiere hacer esto (por ejemplo, porque el carácter es demasiado exótico y no se puede esperar que esté disponible en la fuente del editor de código), la opción más segura puede ser usar una cadena de estilo nuevo escapar o String.fromCodePoint:

const omega="u{3a9}";

// or:

const omega = String.fromCodePoint(0x3a9);

Esto no está restringido a UTF-16, pero funciona para todos los puntos de código Unicode. En comparación, los otros enfoques mencionados aquí tienen las siguientes desventajas:

  • HTML escapes (const omega="&#937";): solo funciona cuando se procesa sin escape en un elemento HTML
  • la cuerda de estilo antiguo se escapaconst omega="u03A9";): restringido a UTF-16
  • String.fromCharCode: restringido a UTF-16
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *