hi @Rolf B
Anmerkung: Die Funktion charCodeAt() liefert die Wertigkeiten beliebiger Bytes.
In deinem speziellen Fall ja. Im allgemeinen: Nein. Gegenbeispiel:
let a = "17€"; console.log(a.charCodeAt(2)); // -> 8364
Das ist kein Byte. Das ist ein Unicode-Zeichen.
Genau. Weil Du eben nicht mit Bytes operierst sondern mit Zeichen. Mein Artikel erklärt ja den Unterschied.
Du müsstest also, um bytesemantisch arbeiten zu können, aus der Zeichenkette einen Blob erzeugen:
blob = new Blob(['17€']);
Und wenn Du den Blob dann als BinaryString hast, hat der eine Länge von 5 Byte. Und siehe da, der index [2] zeigt da nicht auf das 3. Zeichen sondern auf das 3. Byte mit der Wertigkeit E2
(226 dezimal) also das erste zum Eurozeichen gehörige Byte.
MfG