hi Gunnar,
Nein, natürlich nicht. Der Text wird zeichenweise gelesen. Wenn das erste Zeichen U+FEFF ist, dann ist es ein BOM.
Es wird kein Text gelesen sondern eine Datei. Und Dateien werden nicht zeichenweise sondern byteweise gelesen.
Vemutlich ist das hier den Wenigsten so richtig klar. Man liest eben nicht irgendein Zeichen aus einer Datei sondern Bytes. Und wenn man ein Zeichen wie U+FEFF haben bzw. erkennen will, muß man das erst aus den gelesene Oktetten (Bytes) + Kodierung => Zeichen
wiederherstellen.
Genau das macht nämlich ein Texteditor, der uns damit suggeriert, wir würden Dateien zeichenweise lesen. Tatsächlich jedoch werden auch Textdateien byteweise gelesen, das war schon immer so.
Die Erkennung ist deshalb möglich, weil es das Zeichen U+FFFE in Unicode nicht gibt.
Das mag sein. Aber die Byteorder gilt ja nicht für den Codepoint sodern für die resultierende Bytesequenz.
Unicode ist ein System zur Verwaltung von Zeichen. So hat ein Codepoint wie U+FFFE mit der Byteorder überhaupt nichts zu tun. Erst mit der Kodierung entstehen Oktetten, und erst ab 2 Oktetten spielt dann die Byteorder eine Rolle. So sind Codepont + Kodierung => Bytesquenzen
um das mal verständlich darzustellen.
Es wäre ein dankbares Thema für euren Wiki. MfG