So wird Unicode aktuell genutzt

Während im Oktober 1991 die Unicode-Version 1.0.0, mit 7.129 Code Points, veröffentlicht wurde, ist die aktuelle Version 14.0 im September 2021 erschienen und definiert ein Vielfaches an Code Points im Standard.

Stellenmarkt
  1. Process Manager Fulfillment (m/w/d)
    Endress+Hauser Conducta GmbH+Co. KG, Gerlingen
  2. IT-Supporter (m/f/d)
    GCP - Grand City Property, Berlin
Detailsuche

Dabei sind von Version zu Version immer wieder neue Zeichen hinzugekommen. Der Unicode-Standard legt fest, dass einmal eingebrachte Zeichen nie wieder aus dem Standard entfernt werden dürfen. Das bedeutet, dass gut überlegt werden muss, ob ein Zeichen wirklich dem Standard zugeschlagen wird.

Allerdings ist dies nicht immer so gewesen. In der Frühzeit des Standards bis einschließlich Version 2.0, erschienen im Juli 1996, wurde unter anderem das koreanische Alphabet in Version 2.0 entfernt und durch neue Zeichen an einer anderen Stelle in der Codeplane ersetzt. Auch in den vorherigen Versionen 1.1 und 1.0.1 wurden Zeichen entfernt.

Ab der Version 2.1 des Standards wurde sich von dieser Praxis gelöst und seitdem wird der Standard nur noch erweitert. Wird nun von der Nutzung eines Zeichens abgeraten, wird dieses im Unicode-Standard als "deprecated" gekennzeichnet.

Golem Karrierewelt
  1. Adobe Photoshop Grundkurs: virtueller Drei-Tage-Workshop
    08.-10.06.2022, Virtuell
  2. Jira für Anwender: virtueller Ein-Tages-Workshop
    03.06.2022, virtuell
Weitere IT-Trainings

Im Oktober 2010 wurden mit dem Unicode-Standard 5.2 nicht nur Symbole für Spielkarten und weitere Schriftsysteme hinzugefügt, auch Emojis kamen hinzu. Gab es ursprünglich 722 definierte Emojis, sind diese mittlerweile angewachsen und verfügen auch über die Unterstützung, unterschiedliche Hautfarben anzeigen zu können.

Mit Version 1.40 sind 144.697 Code Points definiert. Damit ist in etwa ein Siebtel des Codespaces belegt. Dass das klingonische Schriftsystem darunter sei, ist im Übrigen ein Gerücht. Allerdings werden klingonische Zeichen über die privaten Bereiche des Unicode-Codespaces genutzt. Für diese privaten Bereiche innerhalb des Codespace gibt es mit der Under-ConScript Unicode Registry eine Art informelle Registry.

Umsetzung in der IT

Standards und damit auch der Unicode-Standard sind nur dann sinnvoll, wenn sie umgesetzt und genutzt werden. Aktuelle Windows-Versionen und Mac-OS-Versionen nutzen für die interne Repräsentation von Unicode UTF-16, bei Linux ist es UTF-8. Damit ist die grundlegende Nutzung in den entsprechenden Betriebssystemen gegeben.

In den Betriebssystemen selbst gibt es für Nutzer unterschiedliche Möglichkeiten, Unicode-Zeichen einzusetzen. Viele Varianten arbeiten mit der Eingabe der entsprechenden ID des Code Points in dezimaler oder hexadezimaler Repräsentation in Verbindung mit einer Taste. Unter Windows kann die Alt-Taste in Verbindung mit der entsprechenden ID zur Eingabe genutzt werden. Auch unter Linux und Mac OS sind solche Eingaben möglich, wobei sie unter Mac OS explizit aktiviert werden müssen.

  • Die Zeichentabelle unter Windows 10 (Screenshot: Florian Bottke)
  • Einer vielen der Noto-Fonts (Screenshot: Florian Bottke)
Die Zeichentabelle unter Windows 10 (Screenshot: Florian Bottke)

Daneben existieren in den Betriebssystemen auch entsprechende Applikationen, etwa die Zeichentabelle unter Windows, mit der Unicode-Zeichen über ein entsprechendes Interface herausgesucht und genutzt werden können.

Bei Programmiersprachen wie Java oder den auf .NET basierenden Sprachen wird intern ebenfalls mit UTF-16 gearbeitet. Unter Rust kann der primitive Typ einen Unicode scalar value speichern. Dieser entspricht einem Code Point; allerdings sind die sogenannten Low- und High-Surrogate, die für UTF-16 benötigt werden, hier nicht eingeschlossen.

Interessant ist auch die Betrachtung von Fonts in Bezug auf Unicode. Die erste Frage, die sich hier vielleicht stellt, ist, ob ein Font existiert, der alle Unicode-Zeichen unterstützt.

Schon aus technischen Gründen ist dies nicht möglich. So kann eine Truetype-Schriftart maximal 65.535 Glyphen enthalten. Auch im Opentype-Format ist eine solche Beschränkung enthalten.

  • Die Zeichentabelle unter Windows 10 (Screenshot: Florian Bottke)
  • Einer vielen der Noto-Fonts (Screenshot: Florian Bottke)
Einer vielen der Noto-Fonts (Screenshot: Florian Bottke)

Allerdings gibt es Font-Familien wie Noto, die von Google beauftragt wurde und mittlerweile über 77.000 Code Points des Unicode-Standards abdeckt. Daneben gibt es eine Reihe weiterer Fonts wie GNU Unifont oder WenQuanYi, die ebenfalls eine Vielzahl an Zeichen aus dem Unicode-Zeichensatz unterstützen.

Die Golem-PCs bei Dubaro

Der Name der Schriftart-Familie Noto steht für No Tofu und spielt auf das Kästchen an, das angezeigt wird, wenn ein Font ein entsprechendes Unicode-Zeichen nicht enthält. Früher wurde hierbei häufig der Replacement Character, der sich in der Basic Multilingual Plane befindet, genutzt. Er zeigt eigentlich an, dass ein Zeichen nicht als valides Unicode-Zeichen erkannt werden konnte, also ein Kodierungsfehler vorliegt. Heutzutage wird für den Fall, dass ein valides Unicode-Zeichen vom Font nicht dargestellt werden kann, die .notdef-Glyphe des entsprechenden Fonts angezeigt.

Auch bei der softwareseitigen Unterstützung von Unicode gibt es hier und da Probleme. So wurden bis in die 2000er-Jahre hauptsächlich die Code Points aus der Basic Multilingual Plane unterstützt. Andere Planes waren nicht wirklich zugänglich.

Auch die Zusammensetzung von Zeichen aus mehreren Code Points wird von vielen Anwendungen nicht richtig beherrscht. Gebessert hat sich dies unter anderem durch den Standard GB 18030 der chinesischen Regierung, der ebenfalls die entsprechenden Zeichen aus der Codeplane unterstützt und damit ein Unicode Transformation Format darstellt. Dieser Standard definiert, welche Zeichen zwingend in entsprechenden Betriebssystemen und Anwendungen unterstützt werden müssen und brachte damit die Unicode-Unterstützung jenseits der Basic Multilingual Plane voran.

Bei Domainnamen hat sich Punycode durchgesetzt

Auch in anderen Anwendungen, wie zum Beispiel E-Mail, kann Unicode dank des MIME-Standards seit vielen Jahren genutzt werden. Für die Codierungen von Domainnamen mit Nicht-ASCII-Zeichen waren ebenfalls Unicode Transformation Formate in der Entwicklung (UTF-5, UTF-6), allerdings hat sich hier Punycode durchgesetzt.

Trotz der weiten Verbreitung der Unicode-Standards, kommt es immer wieder zu kleineren und größeren Problemen. So akzeptierte Outlook 2016 keine Passwörter mit Unicode-Zeichen und ein Schriftzeichen der Sprache Telugu führte zu Problemen unter iOS und Mac OS.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Altlasten im UnicodeKritik an Unicode und Ausblick 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7.  


Hugie 30. Mär 2022 / Themenstart

Aach.. hier hat doch niemand Pointer auf Integer gecastet... sowas würden wir nie tun...

LASERwalker 28. Mär 2022 / Themenstart

Ich muss deinen Titel korrigieren: Nicht Unicode ist kompliziert, die menschliche Sprache...

strohkoenig 28. Mär 2022 / Themenstart

Wenn ich den Artikel richtig verstanden habe, dann sind die Planes Exx und Fxx für...

maxule 28. Mär 2022 / Themenstart

Das konnten Platten von Seagate* schon seit Jahrzehnten. "Sie geht, oder sie geht...

Kommentieren



Aktuell auf der Startseite von Golem.de
Ukrainekrieg
Erster Einsatz einer US-Kamikazedrohne dokumentiert

Eine Switchblade-Drohne hat offenbar einen russischen Panzer getroffen. Dessen Besatzung soll sich auf dem Turm mit Alkohol vergnügt haben.

Ukrainekrieg: Erster Einsatz einer US-Kamikazedrohne dokumentiert
Artikel
  1. Deutsche Bahn: 9-Euro-Ticket gilt nicht in allen Nahverkehrszügen
    Deutsche Bahn
    9-Euro-Ticket gilt nicht in allen Nahverkehrszügen

    So einfach ist es dann noch nicht: Das 9-Euro-Ticket gilt nicht in allen Zügen, die mit einem Nahverkehrsticket genutzt werden können.

  2. Verifone: Bundesweite Störung von Girokarten-Terminals
    Verifone
    Bundesweite Störung von Girokarten-Terminals

    In vielen Geschäften lässt sich derzeit nur bar bezahlen. Ursache ist wohl ein Softwarefehler in Kartenzahlungsterminals für Giro- und Kreditkarten.

  3. Cerebras WSE-2: München verbaut riesigen KI-Chip
    Cerebras WSE-2
    München verbaut riesigen KI-Chip

    Als erster Standort in Europa hat das Leibniz-Rechenzentrum (LRZ) ein CS-2-System mit Cerebras' WSE-2 gekauft, welches effizient und schnell ist.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Days of Play: (u. a. PS5-Controller (alle Farben) günstig wie nie: 49,99€, PS5-Headset Sony Pulse 3D günstig wie nie: 79,99€) • Viewsonic Gaming-Monitore günstiger • Mindstar (u. a. MSI RTX 3090 24GB 1.599€) • Xbox Series X bestellbar • Samsung SSD 1TB 79€ [Werbung]
    •  /