Konvertieren Sie Zeichen in JavaScript in ASCII-Code

Lesezeit: 5 Minuten

Konvertieren Sie Zeichen in JavaScript in ASCII Code
levik

Wie kann ich ein Zeichen mit JavaScript in seinen ASCII-Code konvertieren?

Beispielsweise:

bekomme 10 von “n”.

  • Bitte beachten Sie, dass die String.prototype.charCodeAt() Die in den meisten Antworten vorgeschlagene Methode gibt die zurück UTF-16-Codeeinheit (aus historischen Gründen nicht einmal die vollständige korrekte UTF-16-Codierung). Nur die ersten 128 Unicode-Codepunkte stimmen direkt mit der ASCII-Zeichencodierung überein.

    – Alvaro González

    16. Januar 18 um 13:15 Uhr


  • @ÁlvaroGonzález Dies ist eine wichtige Einschränkung. Wie bekomme ich stattdessen den ASCII-Code, zB 128 Pro ?

    – einfach

    15. Oktober 21 um 8:17 Uhr

  • @simlev ASCII hat keine Symbol, es wurde Jahrzehnte vor der Währung geschaffen. 128 ist seine Codierung in Windows-1252. Das Konvertieren zwischen zufälligen Kodierungen ist ein eigenes Problem.

    – Alvaro González

    15. Oktober 21 um 8:31 Uhr

Konvertieren Sie Zeichen in JavaScript in ASCII Code
Jim

"n".charCodeAt(0);

  • Das Gegenteil davon ist String.fromCharCode(10).

    – viam0Zah

    1. Mai 11 um 9:38 Uhr

  • Lustige Tatsache: Sie brauchen das nicht wirklich 0 (erster Argumentwert) — just "n".charCodeAt() Wird besorgt.

    – Mathias Bynens

    17. Oktober 11 um 9:40 Uhr

  • @MathiasBynens: und zum Glück ist dies dokumentiert: developer.mozilla.org/en/JavaScript/Reference/Global_Objects/…. “Wenn es keine Zahl ist, ist es standardmäßig 0”

    – Tokland

    15. November 11 um 19:46 Uhr


  • Darauf sollten Sie im Gegensatz hinweisen String.fromCharCode( asciiNumVal ), stringInstance.charCodeAt( index ) ist nicht eine statische Methode der Klasse String

    – bobobobo

    12. September 12 um 19:09 Uhr


  • @Mathias Bynens, es ist sicherlich standardmäßig auf Null eingestellt, aber ich habe gerade einen Leistungstest aus reinem Interesse durchgeführt und es funktioniert **relativ schlecht im Vergleich mit 0. jsperf.com/default-to-0-vs-0/4 ** Es ist nur ein relativer Unterschied, so oder so ist es sehr, sehr schnell.

    – Wadenmontag

    9. Mai ’13 um 12:35 Uhr

1643917561 618 Konvertieren Sie Zeichen in JavaScript in ASCII Code
Mohsen

String.prototype.charCodeAt() kann Zeichenketten in ASCII-Zahlen umwandeln. Beispielsweise:

"ABC".charCodeAt(0) // returns 65

Für den umgekehrten Gebrauch String.fromCharCode(10) die Zahlen in gleiche ASCII-Zeichen umwandeln. Diese Funktion kann mehrere Zahlen akzeptieren und alle Zeichen verbinden und dann die Zeichenfolge zurückgeben. Beispiel:

String.fromCharCode(65,66,67); // returns 'ABC'

Hier ist eine kurze ASCII-Zeichenreferenz:

{
"31": "",      "32": " ",     "33": "!",     "34": """,    "35": "#",    
"36": "$",     "37": "%",     "38": "&",     "39": "'",     "40": "(",    
"41": ")",     "42": "*",     "43": "+",     "44": ",",     "45": "-",    
"46": ".",     "47": "https://stackoverflow.com/",     "48": "0",     "49": "1",     "50": "2",    
"51": "3",     "52": "4",     "53": "5",     "54": "6",     "55": "7",    
"56": "8",     "57": "9",     "58": ":",     "59": ";",     "60": "<",    
"61": "=",     "62": ">",     "63": "?",     "64": "@",     "65": "A",    
"66": "B",     "67": "C",     "68": "D",     "69": "E",     "70": "F",    
"71": "G",     "72": "H",     "73": "I",     "74": "J",     "75": "K",    
"76": "L",     "77": "M",     "78": "N",     "79": "O",     "80": "P",    
"81": "Q",     "82": "R",     "83": "S",     "84": "T",     "85": "U",    
"86": "V",     "87": "W",     "88": "X",     "89": "Y",     "90": "Z",    
"91": "[",     "92": "\",    "93": "]",     "94": "^",     "95": "_",    
"96": "`",     "97": "a",     "98": "b",     "99": "c",     "100": "d",    
"101": "e",    "102": "f",    "103": "g",    "104": "h",    "105": "i",    
"106": "j",    "107": "k",    "108": "l",    "109": "m",    "110": "n",    
"111": "o",    "112": "p",    "113": "q",    "114": "r",    "115": "s",    
"116": "t",    "117": "u",    "118": "v",    "119": "w",    "120": "x",    
"121": "y",    "122": "z",    "123": "{",    "124": "|",    "125": "}",    
"126": "~",    "127": ""
}

  • Bessere ASCII-Referenz: de.wikipedia.org/wiki/ASCII – Ich bin ziemlich stolz darauf, dass die Färbung, die ich für die Tabellen auf dieser Seite gemacht habe, nach fast 10 Jahren dort bleibt : )

    – BT

    25. April ’14 um 19:00 Uhr

  • @theGrayFox C:> man ascii gibt Bad command or file name

    – Déjà-vu

    12. Juni 15 um 6:53 Uhr

  • Beachten Sie, dass diese Methoden UTF-16-kompatibel sind, was bedeutet, dass charCodeAt je nach Eingabezeichenfolge weit über 1 Byte ASCII-Werte 0-127 hinausgehen kann. Gehen Sie nicht davon aus, dass es sich in diesem Bereich befindet, wenn beliebige Zeichenfolgeneingaben akzeptiert und von Javascript verarbeitet werden.

    – der Ferrit32

    20. August 19 um 21:11 Uhr

  • @e2-e4 Lieber Entwickler, Sie haben das falsche Betriebssystem. man ist ein Linux-Befehl. Ich bin mir nicht sicher, ob das Windows-Äquivalent ist. Wahrscheinlich sicherer, wenn Sie eine Suchmaschine in einem Browser verwenden, um unter Windows nach “man ascii” zu suchen, ein Ergebnis -> man7.org/linux/man-pages/man7/ascii.7.html

    – tgkprog

    24. März 21 um 15:46 Uhr


1643917562 492 Konvertieren Sie Zeichen in JavaScript in ASCII Code
Marco Altieri

Wenn Sie nur ein Zeichen und keine Zeichenfolge haben, können Sie Folgendes verwenden:

'n'.charCodeAt();

die 0 weglassen…

Früher war es deutlich langsamer als 'n'.charCodeAt(0), aber ich habe es jetzt getestet und sehe keinen Unterschied mehr (10 Milliarden mal mit und ohne 0 ausgeführt). Nur in Chrome und Firefox auf Leistung getestet.

  • Das dauert tatsächlich länger. Es ist schneller, nur die Null zu verwenden. (Auf meinem Computer dauerte es ungefähr doppelt so lange – 0,055 s gegenüber 0,126 s bei einigen zehntausend Iterationen.)

    – royhowie

    27. November 14 um 0:09 Uhr

1643917562 567 Konvertieren Sie Zeichen in JavaScript in ASCII Code
Francisco Präsenz

Während die anderen Antworten richtig sind, bevorzuge ich diesen Weg:

function ascii (a) { return a.charCodeAt(0); }

Dann, um es zu benutzen, einfach:

var lineBreak = ascii("n");

Ich verwende dies für ein kleines Verknüpfungssystem:

$(window).keypress(function(event) {
  if (event.ctrlKey && event.which == ascii("s")) {
    savecontent();
    }
  // ...
  });

Und Sie können es sogar innerhalb von map() oder anderen Methoden verwenden:

var ints="ergtrer".split('').map(ascii);

1643917563 947 Konvertieren Sie Zeichen in JavaScript in ASCII Code
Filip Dupanovic

Für diejenigen, die eine Summe aller ASCII-Codes für eine Zeichenfolge erhalten möchten:

'Foobar'
  .split('')
  .map(x=>x.charCodeAt(0))
  .reduce((a,b)=>a+b);

Oder, ES6:

[...'Foobar']
  .map(char => char.charCodeAt(0))
  .reduce((current, previous) => previous + current)

  • Überprüfen Sie Ihre letzte Zeile noch einmal.

    – Ypnypn

    14. Oktober 15 um 21:43 Uhr

  • Elegant! als Funktion: function ascii(str) { return str .split(”) .map(function (char) { return char + “: ” + String(char.charCodeAt(0)) + “n”; }) .reduce (Funktion (aktuell, vorherige) { aktuelle + vorherige zurückgeben; }); }

    – Darren Griffith

    1. Dezember 16 um 19:47 Uhr

  • [...'Foobar'].reduce((i,s)=>s.charCodeAt(0)+i,0)

    – Nik

    5. Dezember 16 um 14:48 Uhr


1643917563 653 Konvertieren Sie Zeichen in JavaScript in ASCII Code
Daniel

JavaScript speichert Strings als UTF-16 (Doppelbyte) Wenn Sie also das zweite Byte ignorieren möchten, entfernen Sie es einfach bitweise & Betreiber ein 0000000011111111 (dh 255):

'a'.charCodeAt(0) & 255 === 97; // because 'a' = 97 0 
'b'.charCodeAt(0) & 255 === 98; // because 'b' = 98 0 
'✓'.charCodeAt(0) & 255 === 19; // because '✓' = 19 39

  • Überprüfen Sie Ihre letzte Zeile noch einmal.

    – Ypnypn

    14. Oktober 15 um 21:43 Uhr

  • Elegant! als Funktion: function ascii(str) { return str .split(”) .map(function (char) { return char + “: ” + String(char.charCodeAt(0)) + “n”; }) .reduce (Funktion (aktuell, vorherige) { aktuelle + vorherige zurückgeben; }); }

    – Darren Griffith

    1. Dezember 16 um 19:47 Uhr

  • [...'Foobar'].reduce((i,s)=>s.charCodeAt(0)+i,0)

    – Nik

    5. Dezember 16 um 14:48 Uhr


1643917563 627 Konvertieren Sie Zeichen in JavaScript in ASCII Code
Ibrahim Lawal

Um vollständige Unicode-Unterstützung und Reversibilität sicherzustellen, sollten Sie Folgendes verwenden:

'n'.codePointAt(0);

Dadurch wird sichergestellt, dass Sie beim Testen von Zeichen über dem UTF-16-Limit ihren wahren Codepunktwert erhalten.

z.B

'𐩕'.codePointAt(0); // 68181
String.fromCodePoint(68181); // '𐩕'

'𐩕'.charCodeAt(0);  // 55298
String.fromCharCode(55298);  // '�'

  • Es kann auch nützlich sein, die Sonderzeichen in Hex-Notation umzuwandeln, da einige Texteditoren möglicherweise nicht richtig funktionieren, wenn sie direkt mit solchen Zeichen umgehen müssen. ZB: alarm (str.hexEncode().hexDecode());

    – José Tepedino

    11. November 19 um 2:55 Uhr

.

759410cookie-checkKonvertieren Sie Zeichen in JavaScript in ASCII-Code

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy