- Vor 20 Jahren betonte Joel mit den Worten „Es gibt keinen Plain Text“, dass man Encodings unbedingt verstehen muss
- Unicode ist ein Standard, der alle menschlichen Sprachen vereinheitlicht, damit sie auf Computern verwendet werden können
- Ein Code-Point-System, das verschiedenen Zeichen jeweils eine eindeutige Nummer zuweist
- Der größte Code Point ist
0x10FFFF und bietet Platz für etwa 1,1 Millionen Code Points
- UTF-8 ist das gebräuchlichste Encoding und wird mit einer Wahrscheinlichkeit von 98 % verwendet
- UTF-8 ist ein Encoding variabler Länge, bei dem Code Points als Sequenzen von 1 bis 4 Bytes codiert werden können
- UTF-8 ist zu ASCII auf Byte-Ebene kompatibel und für grundlegende lateinische Schriftzeichen platzsparend
- UTF-8 verfügt über eingebaute Fehlererkennung und Wiederherstellung, sodass sich vollständige und gültige UTF-8-Byte-Sequenzen identifizieren lassen
- Erweiterte Graphem-Cluster oder Grapheme sind die Einheiten, über die iteriert werden sollte, nicht Code Points
- Unicode wird jedes Jahr aktualisiert, und die Regeln zur Definition von Graphem-Clustern ändern sich ebenfalls jährlich
- Unicode kann je nach Locale unterschiedlich gerendert werden
- Ein Surrogate Pair in Unicode besteht aus zwei UTF-16-Einheiten, die zum Encodieren eines einzelnen Unicode-Code-Points verwendet werden
- UTF-16 wird in manchen Systemen weiterhin als In-Memory-Repräsentation verwendet
- Unicode-Strings sollten vor dem Vergleich normalisiert werden
- Der Artikel betont, wie wichtig es ist, selbst für grundlegende Operationen wie
strlen, indexOf und substring Unicode-Bibliotheken zu verwenden
3 Kommentare
Bei
"♂️".lengthgibt Python 3.11 offenbar1zurück.Das Emoji wird im Kommentar fehlerhaft angezeigt.
Hacker-News-Kommentare