Hello out there!
Alleine an den Bytes, die der Browser bekommt, kann er nicht erkennen, welcher Wert welchem Schriftzeichen entsprechen soll. Ein Byte hat immer einen Wert im Bereich von 0 bis 255, welches Zeichen dafür auf den Bildschirm gepinselt werden soll, steht im Zeichensatz.
Nö. Aus den Bytes – nennen wir sie besser Oktetts – wird anhand der Zeichen_codierung_ erstmal die Position im Zeichensatz ermittelt. So wird bspw. aus der Oktettfolge C3 A4 bei UTF-8-Codierung die Position 228 (hexadezimal E4) [Wikipedia: UTF-8].
Danach wird aus dieser Position aus dem Zeichen_satz_ (der bei HTML _immer_ UCS/Unicode ist) das entsprechende Zeichen herausgesucht, im obigen Beispiel also U+00E4 'ä'.
Weil der Server dort den richtigen Zeichensatz mitteilt.
Nö, sondern die Zeichen_codierung_. Die Verwechslung der beiden Begriffe führt immer wieder zu Unklarheiten. Besser ist es, sie sorgfältig zu trennen.
Und ja, die Verwechslung führte auch dazu, dass es im HTTP 'charset' heißt: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
. In der XML-Deklaration heißt es richtigerweise 'encoding': <?xml encoding="utf-8"?>
.
See ya up the road,
Gunnar
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)