Tach!
Wobei die Zeichenkodierung im Grunde genommen ja auch nur eine Typisierung ist, was UTF-32 abstrahiert bzw. andeutet:
Um in einer Datei ein bestimmte Zeichen zu finden, würde es, wenn sichergestellt ist daß jedes Zeichen mit genau 4 Byte kodiert ist, genügen die Datei in Schritten von genau 4 Byte zu lesen. Ansonsten müsste man, da es ja auch Zeichen mit 1 Byte Länge gibt, die Datei in Schritten von 1 Byte lesen.
Um die Sache zu vereinfachen, behandelt man heutzutage die Zeichenkodierung getrennt von der Struktur der Daten, solange es sich durchgängig um ein Textformat mit derselben Kodierung handelt, wie es zum Beispiel bei XML oder JSON der Fall ist.
Genau. Die zur Strukturierung verwendeten Zeichen haben deswegen stets eine bekannte Länge, z.B. 1 Byte. Und da ASCII schon immer eine Teilmenge der für XML/JSON zwingend vorgesehenen Deklaration einer Kodierung ist, müssen solche Dateien im Fall einer UTF-8-Kodierung in Schritten von 1 Byte gelesen werden. Ansonsten würde der Parser diese Zeichen nicht finden.
Die Typisierung ist eine Grundvoraussetzung für den wahlfreien Zugriff und dafür dass Daten gespeichert sowie transportiert werden können
MfG