Übertragen werden grundsätzlich Bytes.
Falsch. Übertragen werden Bits.
Es kommt darauf an, auf welchem Layer Du bist. Unsereiner (Programmierer) jedenfalls befindet sich auf dem Layer wo es nicht um Bits geht sondern um Bytes.
Das ist übrigens auch in RDBMS so üblich. Ebenso werden auch Datentypen auf Byteebene definiert und nicht auf Bitebene: Ein Tiny Integer ist z.B. die kleinste Speichereinheit mit 1 Byte.
Lange Rede, kurzer Sinn: textuelle Daten werden ab Erhebung über die Verarbeitung und Speicherung bis zur Ausgabe als Zeichenketten betrachtet. Wenn man sie an irgendeiner Stelle (auch während der Verarbeitung!) als Bytesequenzen betrachtet, macht man was falsch.
Die meisten Fehler passieren wenn die Verarbeitung zeichnorientiert erfolgt. Der Hinweis, daß es im Jahr 2000 mit Umlauten keine Probleme gab bestätigt ja diese Erfahrung:
Eine byteorientierte Verarbeitung hingegen ist viel weniger fehleranfällig.
Wer allerdings den Unterschied zwischen byte~ und charactersemantics nicht kennt, kann auch mit dieser Erfahrung nichts anfangen. Und wird diese Erfahrung wohl auch niemals selber machen!
MfG