Codifica dei file

Un computer conosce un solo «alfabeto»: 0 e 1. Allora come fa a contenere testi, foto, canzoni e video? Li codifica: traduce ogni informazione dal nostro linguaggio a quello della macchina, seguendo delle regole condivise. Qui scopri come, e come si torna indietro con la decodifica — un tipo di file alla volta.

Il concetto

Cos'è la codifica (e la decodifica)

Codificare = tradurre un'informazione dal «linguaggio umano» a quello della macchina, cioè in 0 e 1, usando un codice deciso in anticipo (uno standard). Decodificare è il percorso inverso: dai bit si torna all'informazione. Perché funzioni, chi scrive e chi legge devono usare lo stesso codice.

informazione → codifica → 0 1 0 0 1… → decodifica → informazione

Provalo con un testo: scrivi una parola e guarda come diventa bit (codifica, col codice ASCII) e come i bit tornano testo (decodifica).

umano
↓ codifica (ogni carattere → il suo numero → 8 bit)
macchina
↓ decodifica (ogni byte → di nuovo il carattere)
umano
Senza un codice condiviso i bit sono muti: 01000011 vale «C» solo perché ci siamo messi d'accordo che in ASCII 67 = C. Cambia il codice e lo stesso byte diventa un altro carattere. Ogni tipo di file ha i suoi codici: eccoli.

Il testo → codice ASCII

A ogni carattere il computer associa un numero, e quel numero lo scrive in binario (0 e 1). La tabella di base si chiama ASCII: usa 7 bit per carattere, cioè 128 caratteri possibili. Scrivi qualcosa e guarda come diventa binario:

Oltre l'ASCII: Unicode e UTF-8

Con 128 caratteri l'ASCII non basta per accenti, altri alfabeti ed emoji. Unicode assegna un numero (il code point, scritto U+…) a ogni carattere di ogni lingua, più gli emoji. La codifica UTF-8 scrive quel numero usando da 1 a 4 byte: i caratteri ASCII restano 1 byte, gli accentati di solito 2, molti altri 3, gli emoji 4. Scrivi qualcosa o prova gli esempi:

Più byte = più caratteri rappresentabili. Esistono anche UTF-16 e UTF-32, ma UTF-8 è lo standard del web proprio perché è «a lunghezza variabile»: non spreca spazio sui caratteri comuni (ASCII) e resta compatibile con i vecchi testi.