Tour de Rust Table des matières

Introduction à l'utf-8

De plus en plus de langues doivent être supportées par les ordinateurs d'aujourd'hui. Malheureusement, le système d'encodage ASCII initialement utilisé sur les premiers ordinateurs ne suffit plus pour représenter tout les caractères. L'encodage ASCII ne permet d'encoder seulement 256 caractères sur 1 byte.

L'introduction du standard unicode utf-8 a permis d'augmenter grandement le nombre caractères utilisable en offrant un encodage pouvant varier de 1 à 4 bytes.

Un avantage d'avoir des caractères à taille variable est qu'on n'utilise pas de bytes superflues pour représenter les caractères communs ASCII (requiert un seul byte même avec l'encodage utf-8).

Un désavantage d'avoir des caractères à taille variable est que l'accès ne peut plus être fait rapidemment (temps constant O(1)) avec un simple accès par index (e.g. my_text[3] pour récupérer le 4ème caractère). En effet, il est possible que les caractères précédants le caractère que l'on souhaite lire aient une taille variable, altérant la position où le 4ème caractère se situe dans la séquence d'octets.

Au lieu de cela, nous devons itérer sur la séquence de byte utf-8 pour trouver où se situe le caractère unicode (temps linéaire O(n)).

Ferris: "Je suis surtout content d'avoir l'encodage ** utf-8 ** pour représenter les emojis de mes amis sous-marins!"

🐠🐙🐟🐬🐋

Mascot Ferris