Comment puis-je convertir un caractère en son code ASCII en utilisant JavaScript?
Par exemple:
obtenez 10 de "\ n".
javascript
levik
la source
la source
Réponses:
la source
String.fromCharCode(10)
.0
(première valeur d'argument) -"\n".charCodeAt()
suffira.String.fromCharCode( asciiNumVal )
, cestringInstance.charCodeAt( index )
n'est pas une méthode statique de la classe StringString.prototype.charCodeAt()
peut convertir des caractères de chaîne en nombres ASCII. Par exemple:Pour une utilisation opposée
String.fromCharCode(10)
, convertissez les nombres en caractères ASCII égaux. Cette fonction peut accepter plusieurs nombres et joindre tous les caractères puis renvoyer la chaîne. Exemple:Voici une référence rapide des caractères ASCII:
la source
C:\> man ascii
donneBad command or file name
Si vous n'avez qu'un seul caractère et pas une chaîne, vous pouvez utiliser:
en omettant le 0 ...
Mais c'est plus lent. Avec la version actuelle du chrome, il est 5 fois plus lent.
la source
Bien que les autres réponses soient correctes, je préfère cette façon:
Ensuite, pour l'utiliser, simplement:
J'utilise ceci pour un petit système de raccourcis:
Et vous pouvez même l'utiliser dans map () ou d'autres méthodes:
la source
const ascii = a => a.charCodeAt(0);
Pour ceux qui veulent obtenir une somme de tous les codes ASCII pour une chaîne:
Ou, ES6:
la source
[...'Foobar'].reduce((i,s)=>s.charCodeAt(0)+i,0)
JavaScript stocke les chaînes sous la forme
UTF-16
(double octet), donc si vous voulez ignorer le deuxième octet, supprimez-le simplement avec un&
opérateur au niveau du bit0000000011111111
(par exemple 255):la source
Pour garantir la prise en charge et la réversibilité complètes d'Unicode, envisagez d'utiliser:
Cela garantira que lorsque vous testez des caractères au-dessus de la limite UTF-16, vous obtiendrez leur véritable valeur de point de code.
par exemple
la source
Vous pouvez entrer un caractère et obtenir le code Ascii en utilisant ce code
Par exemple, entrez un caractère comme un code Ascii 65
la source
Pour prendre en charge tous les UTF-16 (également les caractères non BMP / supplémentaires ) de ES6, la méthode string.codePointAt () est disponible;
Cette méthode est une version améliorée de charCodeAt qui ne pouvait prendre en charge que les points de code unicode <65536 (2 16 - un seul 16 bits).
la source
String.prototype.codePointAt()
n'est pris en charge par aucune version d'Internet Explorer . (Cependant, il est pris en charge sur Edge.) Vous pouvez obtenir un polyfill ici .