L'ordre de bytes, també conegut com a endianness, descriu la seqüència en què s'emmagatzemen els bytes d'un valor més gran. Els ordinadors poden escriure aquests bytes començant per qualsevol dels dos extrems, i el fitxer ha d'indicar quin extrem ha fet servir perquè qualsevol lector posterior obtingui el mateix número.
Els dos ordres de byte
Un byte per si sol és inequívoc. Els números massa grans per encabir-se en un sol byte s'han de dividir entre diversos, i és aquí on les dues convencions divergeixen:
- Big-endian: l'emmagatzematge o l'enviament comença pel byte que conté els bits més significatius, i a partir d'aquí la significació va disminuint
- Little-endian: l'emmagatzematge o l'enviament comença pel byte que conté els bits menys significatius, i a partir d'aquí la significació va augmentant
Pren el número 4660, que necessita dos bytes. Un fitxer big-endian l'escriu com 12 34 i un fitxer little-endian com 34 12. El mateix número, però en ordre invers. També existeixen formes mixtes, descrites com a mixed-endian o middle-endian, però són poc freqüents. Tots dos ordres principals s'utilitzen habitualment, i el que trobis depèn del dispositiu o programa que ha creat el fitxer.
Quins fitxers ho porten
Aquest camp és especialment conegut per TIFF i per tot el que es basa en l'estructura TIFF, com ara el bloc de metadades Exif dins de les fotos JPEG i els formats RAW de càmera com NEF, CR2, ARW i DNG. Aquests fitxers comencen amb un marcador de dues lletres, II per a Intel o MM per a Motorola, les empreses els processadors de les quals van fer habitual cada ordre. Normalment un informe ho escriu com Little-endian (Intel, II) o Big-endian (Motorola, MM). La càmera, l'escàner o el programa que va escriure les metadades n'ha escollit l'ordre.
Els contenidors d'àudio van fer el mateix tipus d'elecció a nivell de tot el format: WAV emmagatzema els seus valors en little-endian i AIFF ho fa en big-endian, que és una de les raons per les quals dos formats que contenen exactament les mateixes mostres de so no són intercanviables byte per byte.
Per què és important per al teu fitxer
L'ordre de bytes és el motiu pel qual les metadades escrites en una màquina poden semblar un disbarat en una altra. Un lector que ignora el marcador, o que assumeix un ordre equivocat, no falla de manera elegant: produeix dates impossibles, valors d'exposició absurds i longituds que apunten més enllà del final del fitxer, o bé declara simplement que les metadades són il·legibles. Conèixer l'ordre t'indica com es pot obrir i processar el fitxer correctament.
Encara és més important si edites metadades, perquè els valors nous s'han d'escriure de nou en l'ordre que el fitxer declara. I si aquest mateix marcador es danya, tot el bloc de metadades normalment es torna il·legible, encara que la imatge o l'àudio dins del fitxer estiguin perfectament intactes. Aquest camp només descriu com està organitzat el fitxer, de manera que no conté cap informació personal teva ni del teu dispositiu.