Byte-Reihenfolge
Auf Computern gibt es mehrere Möglichkeiten, wie Zahlenwerte, die aus mehreren Bytes bestehen, im Speicher abgelegt sind. Die beiden wichtigsten sind big endian und little endian.
Nehmen wir im Folgen als Beispiel den 32-Bit Integer-Wert 0xA1B2C3D4.
Wenn wir die 4 Bytes in der Reihenfolge D4 C3 B2 A1, also das niederwertigste Byte an der niedrigsten Speicheradresse ablegen, spricht man von little endian. Eingeführt wurde diese Byte-Reihenfolge beispielsweise mit dem 6502 oder den Intel x86 Prozessoren.
Die Speicherung in der Reihenfolge A1 B2 C3 D4, also das höchstwertige Byte an der niedrigsten Speicheradresse wird als big endian bezeichnet. Verwendet wird diese Byte-Reihenfolge beispielsweise bei der Motorola 68000er Familie oder dem PowerPC.
Einige, meist ältere Systeme speicherten die Daten in der Reihenfolge C3 D4 A1 B2 oder B2 A1 D2 C3, dies wird als middle endian bezeichnet.
Um einen fehlerfreien Datenaustausch im Internet zu ermöglichen ist bei Netzwerkprotokollen normalerweise immer die Byte-Reihenfolge festgeschrieben als network byte order, die im Falle von TCP/IP im big endian Format definiert ist. Arbeitet das System nicht mit dieser Byte-Reihenfolge muss dies im Netzwerktreiber entsprechend umgesetzt werden.