Wie viele Zeichen beinhaltet der Unicode (UTF-8)?

2 Antworten

Unicode ist sehr, sehr groß. So wie der Standard angelegt ist, bietet er Platz für 2²⁰ (über eine Million) Codepoints, von denen allerdings viele niemals mit Zeichen be­legt werden dürfen (so ist z.B. ⅛ des Codespace als “private use area” permanent unbelegt). Insgesamt bleiben ca. 975000 Codepoints für Zeichen übrig.

Das Design des Standard macht es aber ohne größere Probleme möglich, auf bis zu 2³² Zeichen (ca. 4 Milliarden) aufzustocken. Das ist die Grenze, die der Al­gorith­mus hinter UTF-8 setzt; will man den aufgeben, dann wären auch weitere Ver­größe­run­gen denkbar.

Aktuell hat Unicode Unterstützung für so gut wie jede heute noch gebrauchte Schrift und die überwältigende Mehrzahl der historischen Schriften; dazu wurden weniger als 140000 Zeichen belegt.

Unicode ist aber nicht nur eine Liste von Zeichen; dazu kommen noch standardi­sier­te Verfahren zu Font Rendering, Textsatz und Texterkennung. Das gibt es sehr kom­pli­zier­tes Konvolut von Algorithmen und Verfahren, die aufeinander aufbauen. Wie gut das Zeug funktoniert, merkt man daran, daß man als Benutzer kaum etwas von der Komplexität des Standards merkt.

Wer sich erinnern kann, wie grauenvoll es noch vor 20 Jahren war, wird die Arbeit des Unicode-Konsortiums nicht gering schätzen. Damals war es noch eine erst­klas­si­ge Peinigung, wenn man nur verschiedene europäische Șṗřāćħêņ in einem Doku­ment mischen wollte, ganz zu schweigen von griechisch, arabisch oder gar — horri­bile dictu — indischen oder südostasiatischen Schriften. Heute kann ich das ohne Probleme, sogar auf gutefrage.net.

Woher ich das weiß:Hobby – Angelesenes Wissen über Sprach­geschich­te und Grammatik

Unicode bietet Raum für 1114112 Codepunkte, das ist sozusagen der Vorrat an möglichen Nummern für Schriftzeichen. Bisher ist für 136755 Zeichen ein solcher Codepunkt vergeben.

UTF-8 ist nur eine von mehreren Methoden, die Codepunkte mit Bitmustern auszudrücken. Ein- und dasselbe Zeichen und sein Unicode-Codepunkt kann auf verschiedene Weise binär codiert werden. Je nachdem, ob es mehr auf effiziente Speicherung, Verarbeituing oder Transport der Zeichenfolgen ankommt.

https://de.wikipedia.org/wiki/Unicode (Abschnitt Codepunkte und Zeichen)

https://en.wikipedia.org/wiki/Unicode (Abschnitt Versions)


Franz1957  01.05.2018, 22:42

Berichtigung: Es sind einige Codepunkte weniger, nämlich 1111998, die für Zeichen genutzt werden können. Die anderen, die dafür nicht zur Verfügung stehen, dienen als so etwas wie Metasymbole für interne Zwecke des Unicodes selbst.

indiachinacook  01.05.2018, 23:35
@Franz1957

Diese Zahl ist eigentlich noch um die “private use areas” zu korrigieren. Die enthalten zwar Zeichen, aber ohne Attribute — man kann sie also nur nutzen, wenn dem Empfänger von vorneherein klar ist, wie er die Codepoints zu interpretieren hat.