javascript - u00f3 - tipos de codificaciones
¿Cuál es una manera fácil de llamar a Asc() y Chr() en JavaScript para valores Unicode? (3)
No estoy tan familiarizado con Javascript, y estoy buscando la función que devuelve el valor UNICODE de un carácter, y dado el valor UNICODE, devuelve el equivalente de cadena. Estoy seguro de que hay algo simple, pero no lo veo.
Ejemplo:
- ASC ("A") = 65
- CHR (65) = "A"
- ASC ("ਔ") = 2580
- CHR (2580) = "ਔ"
Como JavaScript usa UCS-2 internamente , String.fromCharCode(codePoint)
no funcionará para caracteres Unicode suplementarios. Si codePoint
es 119558
( 0x1D306
, para el carácter ''𝌆''
), por ejemplo.
Si desea crear una cadena basada en un punto de código Unicode que no sea BMP, podría usar las funciones de utilidad de Punycode.js para convertir cadenas UCS-2 y puntos de código UTF-16:
// `String.fromCharCode` replacement that doesn’t make you enter the surrogate halves separately
punycode.ucs2.encode([0x1d306]); // ''𝌆''
punycode.ucs2.encode([119558]); // ''𝌆''
punycode.ucs2.encode([97, 98, 99]); // ''abc''
si desea obtener el punto de código Unicode para cada carácter de una cadena, deberá convertir la cadena UCS-2 en una matriz de puntos de código UTF-16 (donde cada par suplente forma un único punto de código). Puede usar las funciones de utilidad de Punycode.js para esto:
punycode.ucs2.decode(''abc''); // [97, 98, 99]
punycode.ucs2.decode(''𝌆''); // [119558]
Ejemplo para generar una matriz de alfabeto aquí:
const arr = [];
for(var i = 0; i< 20; i++) {
arr.push( String.fromCharCode(''A''.charCodeAt(0) + i) )
}
Mira esto:
String.fromCharCode(64)
y
String.charCodeAt(0)
El primero debe String.fromCharCode...
en la clase String (literalmente String.fromCharCode...
) y devolverá "@" (para 64). El segundo debe ejecutarse en una instancia de String (por ejemplo, "@@@".charCodeAt...
) y devuelve el código Unicode del primer carácter (el ''0'' es una posición dentro de la cadena, puede obtener los códigos para otros caracteres en la cadena cambiando eso a otro número).
El fragmento de script:
document.write("Unicode for character ਔ is: " + "ਔ".charCodeAt(0) + "<br />");
document.write("Character 2580 is " + String.fromCharCode(2580) + "<br />");
da:
Unicode for character ਔ is: 2580 Character 2580 is ਔ