¿Cómo puedo convertir un carácter a su código ASCII usando JavaScript?
Por ejemplo:
obtener 10 de "\ n".
javascript
levik
fuente
fuente
Respuestas:
fuente
String.fromCharCode(10)
.0
(primer valor de argumento), simplemente"\n".charCodeAt()
lo hará.String.fromCharCode( asciiNumVal )
, a diferencia , nostringInstance.charCodeAt( index )
es un método estático de clase StringString.prototype.charCodeAt()
puede convertir caracteres de cadena a números ASCII. Por ejemplo:Para uso opuesto
String.fromCharCode(10)
que convierte números a caracteres ASCII iguales. Esta función puede aceptar múltiples números y unir todos los caracteres y luego devolver la cadena. Ejemplo:Aquí hay una referencia rápida de caracteres ASCII:
fuente
C:\> man ascii
daBad command or file name
Si solo tiene un carácter y no una cadena, puede usar:
omitiendo el 0 ...
Sin embargo, es más lento. Con la versión actual de Chrome, es 5 veces más lenta.
fuente
Si bien las otras respuestas son correctas, prefiero de esta manera:
Luego, para usarlo, simplemente:
Estoy usando esto para un pequeño sistema de acceso directo:
E incluso puedes usarlo dentro de map () u otros métodos:
fuente
const ascii = a => a.charCodeAt(0);
Para aquellos que desean obtener una suma de todos los códigos ASCII para una cadena:
O, ES6:
fuente
[...'Foobar'].reduce((i,s)=>s.charCodeAt(0)+i,0)
JavaScript almacena cadenas como
UTF-16
(doble byte), por lo que si desea ignorar el segundo byte simplemente quítelo con un&
operador bit a bit0000000011111111
(es decir, 255):fuente
Para garantizar la compatibilidad y reversibilidad completas de Unicode, considere usar:
Esto asegurará que cuando pruebe caracteres por encima del límite UTF-16, obtendrá su verdadero valor de punto de código.
p.ej
fuente
Puede ingresar un carácter y obtener el código Ascii usando este código
Por ejemplo, ingrese un carácter como A y obtenga el código 65 de Ascii
fuente
Para admitir todos los UTF-16 (también caracteres no BMP / suplementarios ) de ES6 , está disponible el método string.codePointAt () ;
Este método es una versión mejorada de charCodeAt que podría admitir solo puntos de código unicode <65536 (2 16 - un solo 16 bits).
fuente
String.prototype.codePointAt()
es compatible con ninguna versión de Internet Explorer . (Sin embargo, es compatible con Edge). Puede obtener un polyfill aquí .