Um tour por Rust Índice

O que é utf-8

À medida que mais idiomas eram usados nos computadores o mundo precisava representar mais caracteres de texto do que o permitido pelo ASCII (1 byte permitia apenas 256 caracteres).

O utf-8 foi introduzido com um comprimento em bytes variável de 1 a 4 bytes, aumentando bastante o intervalo de caracteres possíveis.

Uma vantagem dos caracteres de tamanho variável é que o texto não tem bytes desnecessários para os caracteres ASCII comumente usados (requer apenas 1 byte mesmo em utf-8).

Uma desvantagem dos caracteres de tamanho variável é que a pesquisa de caracteres não pode mais ser feita rapidamente (tempo constante de O(1)) com uma indexação simples (por exemplo my_text[3] para obter o 4º caractere). É possível que os caracteres anteriores tenham larguras variáveis, alterando onde o quarto caractere realmente começa na sequência de bytes.

Em vez disso, devemos iterar por uma sequência de bytes utf-8 para entender onde os caracteres Unicode realmente começam (tempo linear de O(n)).

Ferris: "Estou muito feliz por ter utf-8 para representar os emojis dos meus amigos subaquáticos."

🐠🐙🐟🐬🐋

Mascot Ferris