Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die charCodeAt() Methode von String-Werten gibt eine ganze Zahl zwischen 0 und 65535 zurück, die die UTF-16-Code-Einheit an dem angegebenen Index darstellt.
charCodeAt() indexiert den String immer als eine Sequenz von UTF-16-Code-Einheiten, sodass es möglicherweise einzelne Surrogate zurückgibt. Um den vollständigen Unicode-Codepunkt am angegebenen Index zu erhalten, verwenden Sie String.prototype.codePointAt().
Index des zurückzugebenden Zeichens, beginnend bei Null. In eine ganze Zahl umgewandelt — undefined wird in 0 umgewandelt.
Eine ganze Zahl zwischen 0 und 65535, die den Wert der UTF-16-Code-Einheit des Zeichens am angegebenen index darstellt. Wenn index außerhalb des Bereichs von 0 – str.length - 1 liegt, gibt charCodeAt() NaN zurück.
Zeichen in einem String werden von links nach rechts indexiert. Der Index des ersten Zeichens ist 0, und der Index des letzten Zeichens in einem String namens str ist str.length - 1.
Unicode-Codepunkte reichen von 0 bis 1114111 (0x10FFFF). charCodeAt() gibt immer einen Wert zurück, der kleiner als 65536 ist, da die höheren Codepunkte durch ein Paar von 16-Bit-Surrogate-Pseudo-Zeichen dargestellt werden. Daher ist es notwendig, nicht nur charCodeAt(i), sondern auch charCodeAt(i + 1) abzurufen (als ob ein String mit zwei Zeichen manipuliert wird), oder stattdessen codePointAt(i) zu verwenden, um ein vollständiges Zeichen mit einem Wert größer als 65535 zu erhalten. Weitere Informationen zu Unicode finden Sie unter UTF-16-Zeichen, Unicode-Codepunkte und Graphem-Cluster.
Das folgende Beispiel gibt 65 zurück, den Unicode-Wert für A.
charCodeAt() kann einzelne Surrogate zurückgeben, die keine gültigen Unicode-Zeichen sind.
Um den vollständigen Unicode-Codepunkt am angegebenen Index zu erhalten, verwenden Sie String.prototype.codePointAt().
Hinweis: Vermeiden Sie es, codePointAt() mit charCodeAt() neu zu implementieren. Die Übersetzung von UTF-16-Surrogaten zu Unicode-Codepunkten ist komplex, und codePointAt() kann performanter sein, da es die interne Darstellung des Strings direkt verwendet. Installieren Sie ein Polyfill für codePointAt(), falls notwendig.
Unten ist ein mögliches Algorithmus beschrieben, um ein Paar von UTF-16-Code-Einheiten in einen Unicode-Codepunkt umzuwandeln, adaptiert von der Unicode-FAQ:
| ECMAScript® 2027 Language Specification # sec-string.prototype.charcodeat |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.