Tour di Rust Indice dei Contenuti

Cos'è utf-8

Man mano che sempre più lingue venivano usate sui computer, il mondo aveva bisogno di rappresentare più caratteri testuali di quanti ne permettesse l'ASCII (1 byte permetteva solo 256 caratteri).

utf-8 è stato introdotto con una lunghezza variabile di 1-4 byte, aumentando enormemente la gamma di caratteri possibili.

Un vantaggio dei caratteri a dimensione variabile è che il testo non ha byte superflui per i caratteri ASCII molto comuni (che richiedono comunque solo 1 byte in utf-8).

Uno svantaggio dei caratteri a dimensione variabile è che la ricerca di un carattere non può più essere fatta rapidamente (in tempo costante O(1)) con una semplice indicizzazione (es. my_text[3] per ottenere il 4° carattere). È possibile che i caratteri precedenti abbiano larghezze variabili, cambiando il punto in cui il 4° carattere inizia realmente nella sequenza di byte.

Dobbiamo invece scorrere una sequenza di byte utf-8 per capire dove iniziano davvero i caratteri Unicode (in tempo lineare O(n)).

Ferris: "Sono soprattutto felice di avere utf-8 per rappresentare le emoji dei miei amici sottomarini."

🐠🐙🐟🐬🐋

Mascot Ferris