Hallo Emil,
dein Denkfehler ist der übliche. Codierung vs codierter Inhalt.
Mit der JS Funktion String.fromCharCode(0x1D7C3) wurde das UTF-8-kodierte Zeichen erzeugt und per XMLHttpRequest zum Server gesendet
Nein. Ganz viele Fehler in einem Satz.
- fromCharCode erzeugt keinen UTF-8 codierten String, sondern einen JavaScript-internen String, der UTF-16 codiert ist
- Eingabe für fromCharCode sind nicht Codepoints, sondern UTF-16 Bytepaare
- deswegen ist der maximale Wert für einen Eingabewert für fromCharCode 0xffff
- eine Codierung in UTF-8 erfolgt auf der HTTP Strecke, sofern das das gewählte Encoding ist
Ruf mal in der Console auf:
String.fromCharCode(0x1D7C3).length
und
String.fromCharCode(0x1D7C3).codePointAt(0).toString(16)
Ergebnis: 1 und d7c3. D.h. deine 1 vorneweg wurde schlicht ignoriert.
Wenn Du Codepoints in Strings umwandeln willst, dann nimm auch die Funktion, die das im Namen trägt: String.fromCodePoint. Damit geht's.
Rolf
--
sumpsi - posui - clusi
sumpsi - posui - clusi