Чим більше мов використовувалось при роботі з комп'ютером, тим потрібніше світу було мати змогу відображати більше символів ніж дозволяв ASCII( 1 байт міг передавати тільки 256 різних символів)
utf-8 була представлена зі змінною кількістю у 1-4 байтів. Це сильно збільшило діапазон доступних символів.
Перевага змінного розміру символів це те, що текст не містить зайвих байтів для простих символів з ASCII( у utf-8 вони так само потребують 1 байт).
Зворотньою стороною змінного розміру символів є те, що пошук символів більше не може бути швидким
(O(1) константний час) за допомогю простого індексування (наприклад my_text[3]
для отримання 4 символу). Цілком
можливо, що попередні символи можуть мати змінну ширину, змінюючи місце фактичного початку 4 символу в послідовності байтів.
Натомість ми повинні пройти через послідовність байтів utf-8, щоб зрозуміти, де насправді починаються символи Unicode (O(n) лінійний час).
Ферріс: "Я просто щасливий, що маю utf-8 для використання емодзі, що зображують моїх підводних друзів."
🐠🐙🐟🐬🐋