Pe măsură ce tot mai multe limbi au început a fi folosite pe calculatoare, lumea a avut nevoie de modalități de reprezentare a mai multor caractere de text decat ASCII permitea (1 byte permitea numai 256 de caractere).
A fost introdus utf-8, având o lungime variabilă de bytes (1-4 bytes), lucru ce a crescut considerabil gama de caractere posibile.
Un avantaj al caracterelor de dimensiuni variabile este că textul nu mai are octeți inutili pentru caractere ASCII foarte comune (necesitând doar 1 octet în utf-8).
Un dezavantaj al caracterelor de dimensiuni variabile este faptul că căutarea caracterelor nu se mai poate face rapid
(timp constant O(1)) cu o simplă indexare (exemplu: my_text[3]
pentru a obține al patrulea caracter). Este posibil ca
caracterele anterioare să aibă lățimi variabile, modificând locul în care începe de fapt al 4-lea caracter în secvența de octeți.
Trebuie în schimb să parcurgem o secvență utf-8 de octeți pentru a înțelege unde încep de fapt caracterele Unicode (timp liniar O(n)).
Ferris: "În mare parte, doar mă bucur că am utf-8 pentru a reprezenta emoticoane cu prietenii mei subacvatici."
🐠🐙🐟🐬🐋