Die Byte-Reihenfolge, auch Endianness genannt, beschreibt die Reihenfolge, in der die Bytes eines größeren Werts gespeichert werden. Computer können diese Bytes von einem der beiden Enden aus schreiben, und die Datei muss angeben, welches Ende verwendet wurde, damit alles, was sie später liest, wieder dieselbe Zahl erhält.
Die beiden Byte-Reihenfolgen
Ein einzelnes Byte ist eindeutig. Zahlen, die nicht in ein Byte passen, müssen auf mehrere Bytes aufgeteilt werden, und genau dort trennen sich die beiden Konventionen:
- Big-endian: Speichern oder Senden beginnt mit dem Byte, das die höchstwertigen Bits enthält, die Wertigkeit nimmt danach ab
- Little-endian: Speichern oder Senden beginnt mit dem Byte, das die niedrigstwertigen Bits enthält, die Wertigkeit nimmt danach zu
Nehmen wir die Zahl 4660, die zwei Bytes benötigt. Eine Big-endian-Datei schreibt sie als 12 34 und eine Little-endian-Datei als 34 12. Dieselbe Zahl, umgekehrte Reihenfolge. Es gibt auch Mischformen, bezeichnet als mixed-endian oder middle-endian, sie sind jedoch selten. Beide Hauptreihenfolgen werden im Alltag verwendet, und welche du siehst, hängt vom Gerät oder Programm ab, das die Datei erstellt hat.
Welche Dateien sie enthalten
Das Feld ist vor allem von TIFF und allem, was auf der TIFF-Struktur aufbaut, bekannt. Dazu gehört der Exif-Metadatenblock in JPEG-Fotos und Kamera-RAW-Formate wie NEF, CR2, ARW und DNG. Diese Dateien beginnen mit einer zweibuchstabigen Markierung, II für Intel oder MM für Motorola, die Unternehmen, deren Prozessoren die jeweilige Reihenfolge verbreitet haben. In einem Bericht wird das meist ausgeschrieben als Little-endian (Intel, II) oder Big-endian (Motorola, MM). Die Kamera, der Scanner oder das Programm, das die Metadaten geschrieben hat, hat diese Reihenfolge gewählt.
Audio-Container haben dieselbe Wahl auf Ebene des gesamten Formats getroffen: WAV speichert seine Werte little-endian und AIFF speichert sie big-endian. Das ist einer der Gründe, warum zwei Formate, die exakt dieselben Klangproben enthalten, nicht Byte für Byte austauschbar sind.
Warum das für deine Datei wichtig ist
Die Byte-Reihenfolge ist der Grund, warum Metadaten, die auf einem Gerät geschrieben wurden, auf einem anderen wie Unsinn aussehen können. Ein Leser, der die Markierung ignoriert oder von der falschen Reihenfolge ausgeht, scheitert nicht höflich: Er erzeugt unmögliche Datumsangaben, absurde Belichtungswerte und Längen, die über das Dateiende hinauszeigen, oder erklärt die Metadaten einfach für unlesbar. Wenn du die Reihenfolge kennst, weißt du, wie die Datei korrekt geöffnet und verarbeitet werden kann.
Sie ist doppelt wichtig, wenn du Metadaten bearbeitest, denn neue Werte müssen in genau der Reihenfolge zurückgeschrieben werden, die die Datei angibt. Und wenn diese Markierung selbst beschädigt ist, wird der gesamte Metadatenblock meist unlesbar, obwohl das Bild oder Audio in der Datei völlig intakt ist. Das Feld beschreibt nur, wie die Datei aufgebaut ist, und enthält daher keine persönlichen Informationen über dich oder dein Gerät.