Hallo,
Gewissenhaft habe ich im Laborversuch meinen Browser einmal einen ISO-8859-1-Header (1) und ein andermal einen UTF-8-Header (2) gegeben und eine Bitfolge E282AC hinterhergeschickt. Hier ist das Ergebnis:
(1) Der Browser zeigt 3 Zeichen
(2) Der Browser zeigt das Eurozeichen.
jedes andere Ergebnis hätte mich jetzt auch stutzig gemacht.
Aber nun kommt Versuch (3): UTF-8-Header und nur die Bitfolge x82, Ergebnis: Der Browser zeigt nur ein Zeichen und das sieht genauso aus wie das Zeichen, was er bei (1) als zweites Zeichen ausgegeben hat.
Welcher Browser? UTF-8 ist so gebaut, dass ein Byte im Bereich 0x80..BF nur als zweites (drittes, viertes) Byte einer Mehrbyte-Sequenz auftreten kann. Verabreichst du nun ein 0x82, ohne dass ein Byte 0xC0 oder höher voranging, lässt sich das nicht nach UTF-8 decodieren.
Korrekterweise sollte ein Browser hier das fehlerhafte Byte ignorieren. Dass dein Browser hier anfängt zu raten, überrascht mich.
Ciao,
Martin
Ein Snob ist ein Mensch, der sich auf ein Stachelschwein setzt, ohne eine Miene zu verziehen - nur weil ihm jemand gesagt hat, das sei ein Designersessel.