Naarmate meer talen op computers werden gebruikt, had de wereld een manier nodig om meer tekstkarakters weer te geven dan ASCII toestond (1 byte stond slechts 256 karakters toe).
utf-8 werd geïntroduceerd met een variabele bytelengte van 1-4 bytes, waardoor het bereik van mogelijke karakters aanzienlijk werd vergroot.
Een voordeel van karakters met variabele grootte is dat tekst geen onnodige bytes heeft voor zeer gebruikelijke ASCII-karakters (die nog steeds slechts 1 byte vereisen in utf-8).
Een nadeel van karakters met variabele grootte is dat het opzoeken van karakters niet langer snel kan worden gedaan
(in constante tijd O(1)) met eenvoudige indexering (bijv. my_text[3] om het 4e karakter te krijgen). Het is mogelijk dat
de voorgaande karakters variabele breedtes hebben, waardoor verandert waar het 4e karakter daadwerkelijk begint in de bytereeks.
In plaats daarvan moeten we door een utf-8-bytereeks itereren om te begrijpen waar de Unicode-karakters daadwerkelijk beginnen (in lineaire tijd O(n)).
Ferris: "Ik ben vooral gewoon blij dat ik utf-8 heb om emoji's van mijn onderwatervrienden weer te geven."
🐠🐙🐟🐬🐋
