EMZETT.
Login

Bytes

Kurz: Eine Gruppe von 8 Bits — die grundlegende Einheit, in der Speichergrößen und Dateigrößen angegeben werden (KB, MB, GB, TB).

Genauer: Ein Byte kann 256 verschiedene Werte (0–255) darstellen, z. B. ein einzelnes ASCII-Zeichen. Bei größeren Einheiten gibt es zwei konkurrierende Systeme: dezimal (1 KB = 1.000 Byte, von Festplattenherstellern verwendet) und binär (1 KiB = 1.024 Byte, technisch exakt, von Betriebssystemen oft trotzdem als “KB” angezeigt) — Ursache vieler “fehlender” Gigabyte bei neuen Datenträgern.

Im Detail

Warum genau 8 Bit?

Byte wurde historisch als kleinste sinnvoll adressierbare Speichereinheit etabliert, weil 8 Bits gerade genug Kombinationen (256) bieten, um z. B. ein einzelnes Zeichen im ASCII-Zeichensatz (Buchstaben, Ziffern, Satzzeichen, Steuerzeichen) eindeutig darzustellen. Frühere Computersysteme experimentierten durchaus mit anderen Byte-Größen (6-Bit- oder 7-Bit-Bytes kamen historisch vor), 8 Bit setzte sich aber ab den 1960er-/70er-Jahren als praktischer Kompromiss zwischen Speichereffizienz und Darstellbarkeit durch und wurde seitdem praktisch universeller Standard. Moderne Zeichenkodierungen wie Unicode (in der UTF-8-Variante) verwenden für viele internationale Zeichen mehrere Bytes hintereinander (z. B. Umlaute oder Emoji brauchen 2-4 Bytes), bleiben dabei aber byte-basiert abwärtskompatibel zu ASCII für den klassischen englischen Zeichensatz — ein reiner englischer Text sieht in ASCII und UTF-8 byte-identisch aus.

Dezimal vs. binär: KB vs. KiB

Die Verwirrung zwischen dezimalen und binären Präfixen hat einen konkreten technischen Grund: Speicherchips sind intern in Zweierpotenzen organisiert (2^10 = 1024 ist die natürliche “Kilo”-Einheit für Binärsysteme, da Speicheradressen binär kodiert werden), während Festplattenhersteller traditionell mit dezimalen Zehnerpotenzen rechnen (1000 = 1 KB), weil sich damit größere, marketingfreundlichere Zahlen auf der Verpackung ergeben — eine “1 TB”-Festplatte mit dezimaler Rechnung enthält weniger Speicher als eine mit binärer Rechnung berechnete gleich benannte Größe. Seit den 1990er-Jahren gibt es dafür offiziell getrennte, IEC-standardisierte Einheiten — KiB/MiB/GiB/TiB (binär, exakte 1024er-Schritte) versus KB/MB/GB/TB (dezimal, exakte 1000er-Schritte). In der Praxis werden beide Bezeichnungen aber bis heute häufig munter vermischt (Betriebssysteme zeigen oft “GB” an, meinen aber eigentlich “GiB”), weshalb eine als “1 Terabyte” verkaufte Festplatte im Betriebssystem meist nur knapp 931 GiB anzeigt — kein Betrug, sondern schlicht zwei unterschiedliche Zähl-Konventionen, die aufeinandertreffen.

Typische Größenordnungen

Zur Einordnung: Ein einzelnes Textzeichen entspricht etwa 1 Byte, eine durchschnittliche Textnachricht wenigen hundert Bytes, ein hochauflösendes Foto mehreren Megabyte, ein Spielfilm in guter Qualität mehreren Gigabyte, und der gesamte Datenbestand großer Rechenzentren wird in Petabyte oder Exabyte gemessen (jeweils das 1000-fache der vorherigen Einheit).

Speicherausrichtung und Adressierung

In der Rechnerarchitektur ist das Byte auch die kleinste einzeln adressierbare Einheit im Arbeitsspeicher — jede Speicheradresse zeigt auf genau ein Byte, auch wenn ein Prozessor intern oft mehrere Bytes gleichzeitig liest (z. B. 8 Byte auf einmal bei einer 64-Bit-Architektur). Datentypen, die mehr als ein Byte belegen (z. B. eine 4-Byte-Ganzzahl), werden dabei aus Performancegründen meist an Adressen abgelegt, die durch ihre eigene Größe teilbar sind (“Speicherausrichtung”/Alignment) — ein unausgerichteter Zugriff kann auf manchen Architekturen sogar zu einem Programmfehler führen oder zumindest spürbar langsamer sein, da der Prozessor dann zwei separate Speicherzugriffe statt einem einzigen durchführen muss.

Endianness: Byte-Reihenfolge

Wenn ein Wert mehrere Bytes belegt, stellt sich zusätzlich die Frage, in welcher Reihenfolge diese im Speicher abgelegt werden — bekannt als “Endianness”. Bei Little-Endian-Systemen (die meisten modernen PC-Prozessoren) steht das niedrigstwertige Byte zuerst, bei Big-Endian (z. B. in vielen Netzwerkprotokollen als Standard festgelegt) das höchstwertige zuerst. Das ist kein rein akademisches Detail: Werden Rohdaten zwischen Systemen mit unterschiedlicher Endianness ausgetauscht (etwa beim direkten Lesen einer binären Datei oder Netzwerk-Payload), ohne die Byte-Reihenfolge zu berücksichtigen, entstehen scheinbar willkürlich falsche Zahlenwerte — ein klassischer, schwer zu findender Programmierfehler bei Low-Level-Netzwerk- oder Dateiformat-Code.

Siehe auch: Bits, Unicode