Aller au contenu
uencoder

Endianness

Le endianness est l'ordre des octets des valeurs multi-octets en mémoire : gros-boutiste stocke d'abord l'octet de poids fort, petit-boutiste d'abord l'octet de poids faible.

Objectif

Définir comment les données multi-octets sont stockées et transmises de manière cohérente entre architectures CPU.

Mécanisme

Gros-boutiste : l'octet de poids fort est à l'adresse la plus basse (0x010203 stocké comme 01 02 03), la convention des protocoles réseau. Petit-boutiste : l'octet de poids faible est à l'adresse la plus basse (stocké comme 03 02 01), utilisé par x86/ARM. UTF-16/32 exigent un BOM ou une déclaration explicite d'endianness.

Cas d’usage

  • Champs des protocoles réseau (l'ordre des octets réseau est gros-boutiste)
  • Formats de fichiers binaires (ex. PNG gros-boutiste, ELF petit-boutiste)
  • Sérialisation de données multiplateforme
  • Développement embarqué et pilotes

Exemples

  • entrée
    0x01020304
    Output
    BE: 01 02 03 04 / LE: 04 03 02 01

    The same value in both byte orders

Erreurs courantes

Sending host-order integers without network byte order conversion
Convert explicitly with htonl/ntohl or DataView

Termes associés

Outils associés

References