JavaScript/Objekte/String/codePointAt: Unterschied zwischen den Versionen
Aus SELFHTML-Wiki
JavaScript | Objekte | String
Rolf b (Diskussion | Beiträge)
(Die Seite wurde neu angelegt: „Die Methode '''String.codePointAt() ''' ermittelt die Nummer des Unicode Codepoints zurück, die in einer Zeichenkette an einer bestimmten Zeiche...")
K (→Anwendungsbeispiel: replaced: <source lang="javascript"> → <syntaxhighlight lang="javascript">, </source> → </syntaxhighlight>)
Zeile 13:
Zeile 13:
{{Beispiel|
{{Beispiel|
{{BeispielCode|
{{BeispielCode|
−
<(削除) source (削除ここまで)lang="javascript">
+ <(追記) syntaxhighlight (追記ここまで)lang="javascript">
let text = "Hallo 😀";
let text = "Hallo 😀";
Zeile 21:
Zeile 21:
console.log(text.codePointAt(6).toString(16)); // Ausgabe: 1f600
console.log(text.codePointAt(6).toString(16)); // Ausgabe: 1f600
console.log(text.codePointAt(7).toString(16)); // Ausgabe: de00
console.log(text.codePointAt(7).toString(16)); // Ausgabe: de00
−
</(削除) source (削除ここまで)>}}
+ </(追記) syntaxhighlight (追記ここまで)>}}
{{BeispielText|Das Beispiel weist der Variablen <code>text</code> einen String zu, der ein Unicode-Emoji enthält. Diese sind in der Plane 1 zu finden und werden daher durch Surrogatzeichen dargestellt. Die beiden ersten Ausgaben mit charCodeAt liefern die Zeichencodes dieser Surrogatzeichen. Verwendet man codePointAt und greift auf das erste der beiden Surrogatzeichen zu, wird das Surrogat-Paar erkannt und der Codepoint korrekt ermittelt. Greift man auf das zweite Surrogatzeichen zu, erhält man nur die Codepoint-Nummer des Low-Surrogats.
{{BeispielText|Das Beispiel weist der Variablen <code>text</code> einen String zu, der ein Unicode-Emoji enthält. Diese sind in der Plane 1 zu finden und werden daher durch Surrogatzeichen dargestellt. Die beiden ersten Ausgaben mit charCodeAt liefern die Zeichencodes dieser Surrogatzeichen. Verwendet man codePointAt und greift auf das erste der beiden Surrogatzeichen zu, wird das Surrogat-Paar erkannt und der Codepoint korrekt ermittelt. Greift man auf das zweite Surrogatzeichen zu, erhält man nur die Codepoint-Nummer des Low-Surrogats.
}}}}
}}}}
Aktuelle Version vom 4. Juli 2024, 22:28 Uhr
Die Methode String.codePointAt() ermittelt die Nummer des Unicode Codepoints zurück, die in einer Zeichenkette an einer bestimmten Zeichenposition steht. Dabei wird berücksichtigt, dass die Zeichen oberhalb der Unicode BMP nicht mit einem JavaScript-Zeichen abbildbar sind, sondern wegen der vewendeten UTF-16-Codierung durch zwei Surrogatzeichen dagestellt werden.
let char = String.codePointAt(index)
Erwartet folgende Parameter:
index
: die gewünschte Zeichen-Position
Beachten Sie: Die Methode liefert nicht den n-ten Codepoint in einem String, sondern den Codepoint, der an der n-ten Zeichenposition steht.
Anwendungsbeispiel
Beispiel
let text = "Hallo 😀"; console.log(text.charCodeAt(6).toString(16)); // Ausgabe: d83d console.log(text.charCodeAt(7).toString(16)); // Ausgabe: de00 console.log(text.codePointAt(6).toString(16)); // Ausgabe: 1f600 console.log(text.codePointAt(7).toString(16)); // Ausgabe: de00
Das Beispiel weist der Variablen
text
einen String zu, der ein Unicode-Emoji enthält. Diese sind in der Plane 1 zu finden und werden daher durch Surrogatzeichen dargestellt. Die beiden ersten Ausgaben mit charCodeAt liefern die Zeichencodes dieser Surrogatzeichen. Verwendet man codePointAt und greift auf das erste der beiden Surrogatzeichen zu, wird das Surrogat-Paar erkannt und der Codepoint korrekt ermittelt. Greift man auf das zweite Surrogatzeichen zu, erhält man nur die Codepoint-Nummer des Low-Surrogats.Weblinks
- ECMAScript (ECMA-262): String.prototype.codePointAt()
- MDN: String.prototype.codePointAt()
Abgerufen am 3.10.2025
von "http://wiki.selfhtml.org/wiki/JavaScript/Objekte/String/codePointAt"