Tour durch Rust Inhaltsverzeichnis

Was Ist utf-8

Als immer mehr Sprachen auf Computern verwendet wurden, brauchte die Welt eine Möglichkeit, mehr Textzeichen darzustellen, als ASCII erlaubte (1 Byte erlaubte nur 256 Zeichen).

utf-8 wurde mit einer variablen Byte-Länge von 1-4 Bytes eingeführt, was die Bandbreite möglicher Zeichen stark vergrößerte.

Ein Vorteil von Zeichen variabler Größe ist, dass Text keine unnötigen Bytes für sehr häufige ASCII-Zeichen enthält (diese benötigen weiterhin nur 1 Byte in utf-8).

Ein Nachteil von Zeichen variabler Größe ist, dass das Auffinden eines Zeichens nicht mehr schnell (in konstanter Zeit O(1)) über eine einfache Indizierung möglich ist (z. B. my_text[3], um das 4. Zeichen zu erhalten). Es ist möglich, dass die vorangehenden Zeichen unterschiedliche Breiten haben, wodurch sich verändert, wo das 4. Zeichen tatsächlich in der Byte-Sequenz beginnt.

Stattdessen müssen wir durch eine utf-8-Byte-Sequenz iterieren, um zu verstehen, wo die Unicode-Zeichen tatsächlich beginnen (in linearer Zeit O(n)).

Ferris: "Ich bin vor allem einfach froh, utf-8 zu haben, um die Emojis meiner Unterwasserfreunde darzustellen."

🐠🐙🐟🐬🐋

Mascot Ferris