Treballar amb fitxersDe la finestra al fitxer · 7 min de lectura

De bits a lletres

Ja sabem que en un fitxer de text cada grupet de bits representa un caràcter. Falta la pregunta òbvia: com s'ho fa la màquina per saber que aquest grupet de zeros i uns és una «h»?

Amb una taula. Res més.

Una llista on cada lletra té assignat un número, i aquest número s'escriu en binari. La taula original és del 1963 i encara funciona igual: la A és el 65, la a és el 97, l'espai és el 32.

Aquest acord és tot el que cal perquè un fitxer escrit en una màquina es llegeixi en una altra, seixanta anys després, sense que cap de les dues sàpiga res de l'altra.

Hn.º 7201001000
on.º 11101101111
ln.º 10801101100
an.º 9701100001

Tots caben en 8 bits.

01001000011011110110110001100001

Cada llesca és un número, i cada número una lletra a la taula.

Una tira de zeros i uns tallada a llesques de vuit.

Els accents i la ç són el cas rar. Els primers 128 números arribaven per a l'anglès i res més. Tot el que va venir després —accents, ç, emojis— es desa amb dos, tres o quatre grupets de bits en lloc d'un.

Aquí tens el perquè d'aquella recomanació de no posar accents als noms de fitxer: si el fitxer viatja a un sistema que interpreta aquests bytes amb una altra taula, l'accent es trenca.

I aquí tens el perquè del garbuix de símbols. Quan obres un PDF amb el Bloc de notes, aquells bits descrivien un tros d'imatge comprimida. El Bloc de notes no té manera de saber-ho, així que fa l'única cosa que sap fer: talla de vuit en vuit i busca a la taula.

La taula sempre torna alguna cosa — i aquesta alguna cosa és la brossa que veus.

Com sap el programa on acaba una lletra i on comença la següent?

La màquina no sap on acaba una lletra: s'ho suposa.

snack 5 de 9 · L'extensió

Powered by KlugerByte