Wenn Sie daran interessiert sind, wie Zeichen gespeichert werden, können Sie sich unter www.unicode.org umsehen. Am oberen Rand der Hauptseite befindet sich ein Link "Code Charts", der alle in Unicode verfügbaren Zeichencodes anzeigt.
Insgesamt sind in Unicode etwas mehr als eine Million Codes verfügbar (nicht alle werden verwendet). Ein Byte kann 256 verschiedene Werte enthalten, sodass Sie drei Bytes benötigen, wenn Sie jeden möglichen Unicode-Code speichern möchten.
Stattdessen wird Unicode normalerweise in der "UTF-8" -Codierung gespeichert, die für einige Zeichen weniger und für andere mehr Bytes verwendet. Die ersten 128 Codewerte werden in einem einzelnen Byte gespeichert, bis zu den ersten 2048 Codewerten werden in zwei Bytes gespeichert, bis zu 65536 werden in drei Bytes gespeichert, und der Rest benötigt vier Bytes. Dies wurde so eingerichtet, dass häufig verwendete Codewerte weniger Platz beanspruchen. AZ, az, 0-9 und! @ $% ^ & * () - [} {}; ': "|,. / <>? Und einige, die ich vergessen habe, nehmen ein Byte; fast alles Englisch, 98% von Deutsch und Französisch (nur Vermutung) können in einem Byte pro Zeichen gespeichert werden, und dies sind die Zeichen, die am häufigsten verwendet werden. Kyrillisch, Griechisch, Hebräisch, Arabisch und einige andere verwenden zwei Bytes pro Zeichen. Indische Sprachen, die meisten von Chinesisch, Japanisch , Koreanisch, Thai, Tonnen von mathematischen Symbolen, kann in drei Bytes pro Zeichen geschrieben werden. Seltene Dinge (falls Sie jemals Text in Linear A oder Linear B schreiben möchten, Emojis) benötigen vier Bytes.
Eine andere Kodierung ist UTF-16. Alles, was in UTF-8 1, 2 oder 3 Bytes benötigt, benötigt in UTF-16 zwei Bytes. Dies ist von Vorteil, wenn Sie chinesischen oder japanischen Text mit sehr wenigen lateinischen Zeichen dazwischen haben.
Zu den Gründen für das UTF-8-Design: Es hat mehrere Vorteile gegenüber anderen Designs. Sie sind:
Kompatibilität mit US-ASCII-Zeichen
Angemessene Kompaktheit
Selbstsynchronisation: Wenn Sie einen Teil einer Folge von Bytes erhalten, die Zeichen in UTF-8-Codierung sind, können Sie herausfinden, wo das Zeichen beginnt. In einigen Codierungen können sowohl xy als auch yx gültige Codierungen von Zeichen sein. Wenn Sie also einen Teil einer Sequenz erhalten ... xyxyxyxyxyxy ... können Sie nicht wissen, welche Zeichen Sie haben.
Richtige Sortierung: Wenn Sie Zeichenfolgen, die UTF-8-codierte Zeichen enthalten, nach ihren Bytewerten sortieren, werden sie automatisch richtig nach ihren Unicode-Werten sortiert.
Kompatibel mit Einzelbyte-Code: Die meisten Codes, die Einzelbyte-Werte annehmen, funktionieren automatisch korrekt mit UTF-8-codierten Zeichen.
Und was auch immer ich vergessen habe.