Endianness
Endianness ist die Byte-Reihenfolge von Mehrbyte-Werten im Speicher: Big-Endian speichert das höchstwertige Byte zuerst, Little-Endian das niederwertigste.
Zweck
Klären, wie Mehrbyte-Daten über CPU-Architekturen hinweg einheitlich gespeichert und übertragen werden.
Mechanismus
Big-Endian: das höchstwertige Byte liegt an der niedrigsten Adresse (0x010203 als 01 02 03 gespeichert), die Konvention der Netzwerkprotokolle. Little-Endian: das niederwertigste Byte liegt an der niedrigsten Adresse (als 03 02 01), von x86/ARM verwendet. UTF-16/32 brauchen ein BOM oder eine explizite Endianness-Angabe.
Anwendungsfälle
- Felder von Netzwerkprotokollen (Netzwerk-Byte-Order ist Big-Endian)
- Binärdateiformate (z. B. PNG Big-Endian, ELF Little-Endian)
- Plattformübergreifende Datenserialisierung
- Embedded- und Treiberentwicklung
Beispiele
- Eingabe
0x01020304OutputBE: 01 02 03 04 / LE: 04 03 02 01The same value in both byte orders
Häufige Fehler
- Sending host-order integers without network byte order conversion
- Convert explicitly with htonl/ntohl or DataView
Verwandte Begriffe
Byte Order Mark
Das Byte-Order-Mark (BOM) ist das Zeichen U+FEFF am Anfang eines Unicode-Textes, das Kodierungsform und Byte-Reihenfolge anzeigt. GLOSSAR
UTF-16
UTF-16 ist Unicodes Form mit variabler Länge, die 2 oder 4 Bytes pro Codepunkt verwendet: BMP-Zeichen belegen eine 16-Bit-Codeeinheit, Zeichen der ergänzenden Ebenen ein Ersatzpaar (2 Einheiten). GLOSSAR
Binary
Das Binärsystem ist das Zahlensystem zur Basis 2, das nur 0 und 1 verwendet, und bildet die Grundlage der internen Datendarstellung in allen digitalen elektronischen Rechnern. GLOSSAR
BOM
Die BOM (Byte-Order-Mark) ist das Unicode-Zeichen U+FEFF, das an den Anfang eines Textstroms gesetzt wird, um Kodierungsform und Byte-Reihenfolge anzuzeigen. GLOSSAR