Unicode Text Converter: Zeichen und Zeichencodes verstehen

Unicode-Text-Converter

Ein Unicode Text Converter hilft dabei, Text und die zugehörigen Zeichencodes gegenüberzustellen. Das ist nützlich, wenn zwei Zeichen gleich aussehen, sich aber beim Kopieren, Suchen oder Verarbeiten unterschiedlich verhalten. Im Folgenden erkläre ich, wie Unicode-Codepunkte notiert werden und warum die Anzahl sichtbarer Zeichen nicht immer mit der technischen Länge eines Textes übereinstimmt.

Was ein Unicode-Codepunkt beschreibt

Unicode ordnet Zeichen sogenannte Codepunkte zu. Üblich ist die Schreibweise U+ mit einer hexadezimalen Zahl: Der Buchstabe A hat beispielsweise den Codepunkt U+0041. Die Hexadezimalzahl 41 entspricht im Dezimalsystem 65.

Ein Codepunkt ist nicht dasselbe wie eine Bytefolge. Erst eine Zeichenkodierung wie UTF-8 legt fest, mit welchen Bytes ein Zeichen gespeichert wird. Die Tabelle zeigt konkrete Beispiele:

Zeichen Unicode-Codepunkt Dezimalwert UTF-8-Bytes (hexadezimal) Anzahl Bytes
A U+0041 65 41 1
ä U+00E4 228 C3 A4 2
€ U+20AC 8.364 E2 82 AC 3
😀 U+1F600 128.512 F0 9F 98 80 4

Textlänge berechnen: Zeichen sind nicht gleich Bytes

Für die Zeichenfolge Aä€😀 lassen sich die UTF-8-Bytes aus der Tabelle addieren: 1 + 2 + 3 + 4 = 10 Bytes. Der Text besteht dabei aus vier Unicode-Codepunkten und vier sichtbaren Zeichen. Wer ein Speicherlimit oder die Länge einer Datenübertragung berechnen möchte, muss deshalb wissen, ob Bytes, Codepunkte oder sichtbare Zeichen gemeint sind.

Siehe auch  Bold Text Generator: Text in auffällige Unicode-Zeichen umwandeln

Auch Codepunkte und sichtbare Zeichen fallen nicht immer zusammen. Ein é kann als einzelner Codepunkt U+00E9 vorliegen. Es lässt sich aber auch aus e (U+0065) und einem kombinierenden Akzent (U+0301) zusammensetzen. Beide Varianten können gleich aussehen, bestehen jedoch aus unterschiedlich vielen Codepunkten. Ein Unicode Text Converter kann helfen, solche Unterschiede im Text zu erkennen.

Codepunkte, UTF-8 und HTML-Schreibweisen unterscheiden

Die Schreibweise U+20AC bezeichnet den Codepunkt des Eurozeichens. E2 82 AC sind seine Bytes in UTF-8. In HTML kann dasselbe Zeichen außerdem als Zeichenreferenz € geschrieben werden. Diese Angaben beschreiben unterschiedliche Ebenen: Zeichen, Speicherung und Darstellung im HTML-Quelltext. Bei einer Umwandlung lohnt es sich daher, zuerst zu prüfen, welche dieser Formen benötigt wird.