Home

Zeichenlänge

Zeichenlänge bezeichnet die Anzahl der Zeichen in einer Zeichenkette. In der Praxis hängt die Bedeutung von Zeichenlänge davon ab, welche Zählregel oder welcher Zeichensatz verwendet wird. Im Unicode-Kontext unterscheidet man oft zwischen Codepunkten, Codeeinheiten und Grapheme.

Codepunkte sind die einzelnen Unicode-Wörter, die ein Zeichen eindeutig identifizieren. Eine grafische Darstellung eines Zeichens kann

Die Zählung hängt auch von der verwendeten Encoding-Form ab. UTF-8 kodiert Codepunkte variabel in 1 bis 4

Anwendungsgebiete liegen in Benutzerschnittstellen, Validierung und Speicherbegrenzungen. Typische Probleme ergeben sich bei Akzentzeichen, zusammengesetzten Zeichen oder

Siehe auch: Unicode, Grapheme, Encoding, Zeichenkodierung.

aus
mehreren
Codepunkten
bestehen,
zum
Beispiel
ein
Buchstabe
mit
einer
diakritischen
Ergänzung
oder
ein
Emoji
mit
Modifikatoren.
Grapheme
hingegen
repräsentieren
die
vom
Menschen
wahrgenommenen
Zeichen
und
können
mehrere
Codepunkte
umfassen.
Dadurch
kann
die
Anzahl
der
Grapheme
von
der
Anzahl
der
Codepunkte
oder
Codeeinheiten
abweichen.
Byte,
UTF-16
verwendet
16-Bit-Codeeinheiten
(mit
gelegentlichen
Surrogate-Paaren),
während
UTF-32
jedem
Codepunkt
eine
feste
Einheit
zuweist.
Viele
Programmiersprachen
geben
daher
unterschiedliche
Ergebnisse
für
die
Zeichenlänge
aus,
je
nachdem,
ob
sie
Codepunkte,
Codeeinheiten
oder
Grapheme
zählen.
Emojis,
die
länger
erscheinen
als
erwartet,
obwohl
sie
als
einzelnes
sichtbares
Zeichen
gelten.
Bei
Textfeldbeschränkungen
oder
SMS-Längen
müssen
daher
klare
Zählregeln
festgelegt
oder
graphembezogene
Zählungen
verwendet
werden.