Тур по Rust Содержание

Что такое utf-8

Поскольку на компьютерах использовалось все больше языков, то миру нужно было представлять больше текстовых символов, чем допускала кодировка ASCII (где 1 байт допускал хранение только 256 символов).

utf-8 кодировка была введена с переменной длиной в 1-4 байта, значительно увеличивая диапазон возможных символов.

Преимуществом символов переменного размера является то, что текст не имеет не нужных байт для очень распространенной кодировки ASCII (для нее все также требуется только 1 байт в utf-8).

Недостатком символов переменного размера является то, что поиск символов больше не может быть выполнен быстро (за постоянное время O(1)) простой индексацией (например, my_text[3] для получения 4-го символа). Вполне возможно, что предшествующие символы могли иметь переменную ширину, влияя на место где 4-й символ фактически начинается в последовательности байт.

Вместо этого нам нужно пройти последовательность utf-8 байт, чтобы понять, где на самом деле Unicode символы начинаются (за линейное время O(n)).

Ferris: "Я в основном счастлив иметь utf-8 для представления смайликов моих подводных друзей."

🐠🐙🐟🐬🐋

Mascot Ferris