Vediamo UTF-8 in azione aiutandoci con un esempio, etimologico e paradossale: sei d'accordo che, in un mondo giusto, l'alfa-beto dovrebbe contemplare a pieno titolo anche le lettere grechce alfa e beta? Ebbene, nel codice ASCII questi caratteri non sono presenti, con grande disappunto di Democrito e Leucippo.

Fortunatamente, in UTF-8 invece, i caratteri ci sono e sono in buona compagnia di tutte le altre lettere greche, maiuscole e minuscole.

In particolare, il codice di alfa ("α") è lungo 16 bit (due gruppi da 8 bit), ed è: 1100111010110001

Cosa succede se Leucippo manda una α mentre Democrito, ad Atene, è rimasto ancora al vecchio codice ASCII?

(Una premessa: prima dell'UTF-8, un modo più semplice per estendere l'alfabeto rappresentato dall'ASCII era usare anche le combinazioni con l'ottavo bit a 1. In questo modo era stato possibile definire un codice ASCII esteso, che consentisse 256 combinazioni invece di 128. Ovviamente, come abbiamo visto, questo era un vicolo cieco perché poi non ci sarebbe stato più margine di miglioramento. UTF-8 sfrutta l'ottavo bit in modo molto più furbo.)

Tornando a Democrito: se lui si vede arrivare il codice UTF-8 di una alfa, ma è rimasto al vecchio codice ASCII, seppure esteso, come interpreterà la sequenza di bit?

Semplice: come i due caratteri ASCII estesi di codici 11001110 e 10110001: "α".

Ora sei in grado di spiegare un buffo fenomeno nel quale ti sei molto probabilmente imbattuto: scrivi un testo che contiene una carattere particolare, tipo una è ("e" accentata), salvi il file, lo riapri, et voilà: quello che vedi è qualcosa del genere: è. Se controlli, vedrai che il codice UTF-8 di "è" corrisponde alla sequenza dei codici extended ASCII dei caratteri "Ã" e "¨".