JavaScript/Objekte/String/codePointAt: Unterschied zwischen den Versionen

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche
(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.

Browserunterstützung
caniuse.com

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


Abgerufen am 3.10.2025
von "http://wiki.selfhtml.org/wiki/JavaScript/Objekte/String/codePointAt"