Turul limbajului Rust Cuprins

Ce este utf-8

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."

🐠🐙🐟🐬🐋

Mascot Ferris