Zum Inhalt springen
uencoder

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
    0x01020304
    Output
    BE: 01 02 03 04 / LE: 04 03 02 01

    The 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

Verwandte Tools

References