Como posso converter um caractere em seu código ASCII usando JavaScript?
Por exemplo:
obtenha 10 de "\ n".
javascript
levik
fonte
fonte
Respostas:
fonte
String.fromCharCode(10)
.0
(valor do primeiro argumento) - apenas"\n".charCodeAt()
precisará.String.fromCharCode( asciiNumVal )
,stringInstance.charCodeAt( index )
é não um método estático da classe StringString.prototype.charCodeAt()
pode converter caracteres de seqüência de caracteres em números ASCII. Por exemplo:Para uso oposto
String.fromCharCode(10)
que converte números em caracteres ASCII iguais. Esta função pode aceitar vários números e unir todos os caracteres e retornar a string. Exemplo:Aqui está uma referência rápida de caracteres ASCII:
fonte
C:\> man ascii
givesBad command or file name
Se você tiver apenas um caractere e não uma sequência, poderá usar:
omitindo o 0 ...
É mais lento embora. Com a versão atual do chrome, é 5 vezes mais lenta.
fonte
Enquanto as outras respostas estão corretas, prefiro assim:
Então, para usá-lo, basta:
Estou usando isso para um pequeno sistema de atalho:
E você pode até usá-lo dentro de map () ou outros métodos:
fonte
const ascii = a => a.charCodeAt(0);
Para aqueles que desejam obter uma soma de todos os códigos ASCII de uma string:
Ou ES6:
fonte
[...'Foobar'].reduce((i,s)=>s.charCodeAt(0)+i,0)
O JavaScript armazena as strings como
UTF-16
(byte duplo); portanto, se você deseja ignorar o segundo byte, retire-o com um&
operador bit a bit0000000011111111
(por exemplo, 255):fonte
Para garantir suporte e reversibilidade completos a Unicode, considere usar:
Isso garantirá que, ao testar caracteres acima do limite UTF-16, você obtenha o verdadeiro valor do ponto de código.
por exemplo
fonte
Você pode inserir um caractere e obter o código ASCII usando este código
Por exemplo, digite um caractere como você recebe o código ASCII 65
fonte
Para suportar todos os UTF-16 (também caracteres não BMP / suplementares ) do ES6, o método string.codePointAt () está disponível;
Esse método é uma versão aprimorada do charCodeAt, que suporta apenas pontos de código unicode <65536 (2 16 - um único 16 bits).
fonte
String.prototype.codePointAt()
é não é suportado por qualquer versões do Internet Explorer . (No entanto, ele é suportado no Edge.) Você pode obter um polyfill aqui .