Wie kann ich ein Zeichen mit JavaScript in seinen ASCII-Code konvertieren?
Zum Beispiel:
Holen Sie sich 10 von "\ n".
javascript
Levik
quelle
quelle
Antworten:
quelle
String.fromCharCode(10)
.0
(ersten Argumentwert) nicht wirklich - das reicht einfach"\n".charCodeAt()
.String.fromCharCode( asciiNumVal )
,stringInstance.charCodeAt( index )
ist nicht eine statische Methode der Klasse StringString.prototype.charCodeAt()
kann Zeichenfolgen in ASCII-Zahlen konvertieren. Zum Beispiel:Bei umgekehrter Verwendung werden
String.fromCharCode(10)
Zahlen in gleiche ASCII-Zeichen konvertiert. Diese Funktion kann mehrere Zahlen akzeptieren, alle Zeichen verbinden und dann die Zeichenfolge zurückgeben. Beispiel:Hier ist eine kurze Referenz zu ASCII-Zeichen:
quelle
C:\> man ascii
gibtBad command or file name
Wenn Sie nur ein Zeichen und keine Zeichenfolge haben, können Sie Folgendes verwenden:
Auslassen der 0 ...
Es ist jedoch langsamer. Mit der aktuellen Version von Chrome ist es 5-mal langsamer.
quelle
Während die anderen Antworten richtig sind, bevorzuge ich diesen Weg:
Dann, um es zu benutzen, einfach:
Ich benutze dies für ein kleines Verknüpfungssystem:
Und Sie können es sogar in map () oder anderen Methoden verwenden:
quelle
const ascii = a => a.charCodeAt(0);
Für diejenigen, die eine Summe aller ASCII-Codes für eine Zeichenfolge erhalten möchten:
Oder ES6:
quelle
[...'Foobar'].reduce((i,s)=>s.charCodeAt(0)+i,0)
JavaScript speichert Zeichenfolgen als
UTF-16
(Doppelbyte). Wenn Sie also das zweite Byte ignorieren möchten, entfernen Sie es einfach mit einem bitweisen&
Operator0000000011111111
(dh 255):quelle
Verwenden Sie Folgendes, um vollständige Unicode-Unterstützung und Reversibilität sicherzustellen:
Dadurch wird sichergestellt, dass Sie beim Testen von Zeichen über dem UTF-16-Grenzwert ihren wahren Codepunktwert erhalten.
z.B
quelle
Mit diesem Code können Sie ein Zeichen eingeben und Ascii-Code erhalten
Geben Sie zum Beispiel ein Zeichen wie A ein. Sie erhalten den Ascii-Code 65
quelle
Zur Unterstützung aller UTF-16 - Dateien ( auch Nicht-BMP- / Zusatzzeichen ) von ES6 steht die Methode string.codePointAt () zur Verfügung.
Diese Methode ist eine verbesserte Version von charCodeAt, die nur Unicode-Codepunkte <65536 (2 16 - ein einzelnes 16- Bit) unterstützen kann.
quelle
String.prototype.codePointAt()
wird nicht unterstützt von allen Versionen von Internet Explorer . (Allerdings ist es auf Edge unterstützt.) Sie können eine polyfill bekommen hier .