Hallo,
Ein Eurozeichen besteht aus 3 Bytes mit den Wertigkeiten E2 82 AC.
in UTF-8 codiert, ja. In anderen Textcodierungen sieht es wieder völlig anders aus.
Wenn ich jedoch mit diesen Wertigkeiten die Bytes einzeln erzeuge und mit
+=
aneinanderhänge erkennt JS das nicht als Eurozeichen sondern als 3 einzelne Zeichen.
Korrekt. Weil Javascript seine eigenen interne Darstellung von Zeichen hat (Marc sagte neulich was von UTF-16, ich weiß es nicht besser). An die interne Codierung, die JS hier verwendet, kommst du aber meines Wissens nicht dran.
Was muss ich tun daß JS die aneinandergeängten Bytes als ein Zeichen, also das Eurozeichen erkennt?
Nicht auf Byte-Ebene arbeiten, sondern ein einzelnes Zeichen mit dem Code 0x20AC erzeugen.
Wenn du es unbedingt von der Byte-Ebene aus bearbeiten willst, kannst du die Byte-Sequenz auch selbst zum korrespondierenden Zeichencode verrechnen. Die Codierung als solche ist ja bekannt.
Viel Erfolg,
Martin
Computer müssen weiblich sein: Eigensinnig, schwer zu durchschauen, immer für Überraschungen gut - aber man möchte sie nicht missen.