Diese Seiten sind Teil von Bachsau’s Archiv.
Die hier beschriebenen Praktiken entsprechen nicht mehr dem Stand der Technik!
Bitte nutzen Sie für aktuelle Projekte das fortlaufend aktualisierte SELFHTML-Wiki.

SELFHTML

Das Unicode-System

Informationsseite

nach unten Allgemeines zu Unicode
nach unten Aufbau des Unicode-Systems

 nach unten 

Allgemeines zu Unicode

Unicode ist ein System, in dem die Zeichen oder Elemente aller bekannten Schriftkulturen und Zeichensysteme festgehalten werden. Durch dieses System wird es möglich, einem Computer "weltweit" zu sagen, welches Zeichen man dargestellt bekommen will. Voraussetzung ist natürlich, dass der Computer bzw. das ausgeführte Programm das Unicode-System unterstützt.

Unicode strebt die möglichst vollständige Erfassung aller bekannten Zeichen aus gegenwärtigen und vergangenen Schriftkulturen an. Die Zeichen werden nach Klassen katalogisiert und erhalten eine Zeichennummer (Code). Alle nur erdenklichen Zeichen und Zeichensorten werden erfasst. Auch für Steuerzeichen wie Silbentrennzeichen, erzwungene Leerzeichen oder Tabulator-Zeichen gibt es Nummern. Die Zeichen mathematischer Formeln fehlen ebensowenig wie die Silben- oder Wortzeichen fernöstlicher Schriftkulturen. Auch Einzelteile von Zeichen, so genannte diakritische Zeichen wie etwa die Doppelpunkte über den deutschen Umlauten, haben einen eigenen Code. Zeichen lassen sich auch dynamisch kombinieren - so gibt es zwar natürlich auch ein deutsches "ä", aber der gleiche Buchstabe lässt sich auch aus "a" und dem Element für Doppelpunkt über dem Zeichen erzeugen.

Neben der bloßen Adressierung eines Zeichens oder Elements ist im Unicode-System für jedes Zeichen auch ein Set von Eigenschaften definiert. Zur Eigenschaft eines Zeichens gehört z.B. die Schreibrichtung (bei arabischen Zeichen etwa ist die Schreibrichtung von rechts nach links). Insgesamt stecken hinter dem Unicode-System unzählige Forschungsergebnisse der weltweiten Sprachwissenschaft.

Das Unicode-Konsortium, das 1991 gegründet wurde und aus Linguisten und anderen Fachleuten besteht, ermittelt die aufzunehmenden Zeichen. Die vergebenen Zeichencodes haben verbindlichen Charakter. Seit Version 2.0 ist das Unicode-System auch mit der internationalen Norm ISO/IEC 10646 synchronisiert. Das ist insofern wichtig, als Kapitel HTML seit Version 4.0 und auch Kapitel XML ab Version 1.0 auf der Norm ISO/IEC 10646 aufsetzen. Wenn Sie also wissen wollen, wie man ein bestimmtes Zeichen in HTML oder XML notieren soll, müssen Sie in den Unicode-Zeichentabellen nachsehen, welche Zeichennummer das gewünschte Zeichen hat. Anschließend können Sie das gewünschte Zeichen durch eine numerische Notation wie z.B. ⚏ (dezimale Schreibweise) oder ⚏ (hexadezimale Schreibweise mit x) im Quelltext der HTML- oder XML-Datei notieren.

Die Zeichennummern der von Unicode erfassten Zeichen wurden zuerst ausschließlich durch eine zwei Byte lange Zahl ausgedrückt. Auf diese Weise lassen sich bis zu 65536 verschiedene Zeichen in dem System unterbringen (2 Byte = 16 Bit = 216 Kombinationsmöglichkeiten). In der Unicode-Version 3.0 vom September 1999 wurden bereits 49.194 Zeichen aus aller Welt aufgelistet. Die Version 3.1 vom März 2001 durchbrach mit 94.140 Zeichen die Zwei-Byte-Grenze. Die Version 4.0 vom April 2003 umfasst 96.382 Zeichen, die Unterversion 4.1.0 fügt noch einmal 1.273 Zeichen hinzu. Das Zwei-Byte-Schema, im Unicode-System als Basic Multilingual Plane (BMP) bezeichnet, wird deshalb von einem Vier-Byte-Schema abgelöst, wodurch sich die beruhigende Anzahl von 4.294.967.296 Zeichen (232 Kombinationsmöglichkeiten für Bits) adressieren lässt.

Informationen zum Unicode-Konsortium finden Sie im Web auf der englischsprachige Seite Homepage des Unicode-Konsortiums.

Das große Problem mit Unicode ist eigentlich nur, wie all die vielen Zeichen an einem Computer dargestellt werden sollen. Denn Unicode definiert nur Zeichennummern und Eigenschaften von Zeichen, aber es enthält ebenso wenig wie Codetabellen herkömmlicher Zeichenkodierungen Angaben darüber, wie das Zeichen darzustellen ist. Dazu sind am Computer Schnittstellen wie Schriftarten erforderlich. Die klassischen Computerschriftarten sind dazu jedoch nicht geeignet, da sie sich weitgehend an bestimmten Kodierungen mit eingeschränktem Zeichenvorrat orientieren. Neue, Unicode-orientierte Schriftarten verbreiten sich allmählich. In Verbindung mit modernen Betriebssystemen und Anwendungen unterstützen solche Schriftarten zumindest die zwei-byte-breite Adressierung, also den BMP-Anteil des Unicode-Systems.

nach obennach unten

Aufbau des Unicode-Systems

Bei neuen Unicode-Versionen wird das Buch The Unicode Standard, herausgegeben vom Unicode-Konsortium, neu aufgelegt. Im internationalen Buchhandel ist dieses Buch erhältlich. Darin sind alle Zeichen, Zeichennummern, Zeichenklassen usw. genau aufgeschlüsselt und dargestellt. Dieses Buch ist das verbindliche Normwerk. Auf den Web-Seiten des Unicode-Konsortiums finden sich zum schnellen Nachschlagen PDF-Dateien mit den einzelnen Codetabellen. Die Verweise in der Tabelle weiter unten führen direkt zu den entsprechenden PDF-Dateien. Um diese Dateien betrachten zu können, benötigen Sie ein gesondertes PDF-Leseprogramm wie beispielsweise den Adobe Reader.

Das Unicode-System ist in Zahlenbereiche aufgeteilt. Die Zahlen selbst werden in der Form U+XXXX notiert. Das U steht für Unicode, und die X für je eine hexadezimale Ziffer. Zeichennummern sind in diesen Tabellen also hexadezimal dargestellt. Falls Sie für die Notation eines oder mehrerer Zeichen aus dem Unicode-Bereich in HTML oder XML eine dezimale Darstellung verwenden wollen, können Sie den Seite Dezimal/Hexadezimal-Umrechner benutzen.

Die einzelnen Zeichen im Unicode-System sind nicht wahllos angeordnet. Das gesamte System ist in Zeichenbereiche (engl. blocks, Blöcke) aufgeteilt. Die Zeichenbereiche spiegeln jeweils eine bestimmte Schriftkultur oder ein Set von Sonderzeichen wider.

Im folgenden werden die einzelnen Unicode-Zeichenbereiche aufgelistet. Bei jedem Zeichenbereich finden Sie einen Verweis. Der Verweis führt jeweils zu einer PDF-Datei auf der Homepage des Unicode-Konsortiums. Darauf finden Sie zu dem betreffenden Zeichenbereich Hinweise sowie eine grafische Tabelle mit Abbildungen der einzelnen Zeichen des Bereichs und der zugehörigen Unicode-Zeichennummern (hexadezimal).

BMP-Teil des Unicode-Systems (mit zwei Byte breiten Zeichen darstellbar):

Name des Zeichenbereichs Zeichenbereich
(hexadezimale Angabe)
Link zur Codetabelle
Basic Latin (ASCII-Codetabelle) U+0000 bis U+007F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Latin-1 (Codetabelle von ISO 8859-1) U+0080 bis U+00FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Latin Extended-A U+0100 bis U+017F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Latin Extended-B U+0180 bis U+024F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
IPA Extensions U+0250 bis U+02AF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Spacing Modifier Letters U+02B0 bis U+02FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Combining Diacritical Marks U+0300 bis U+036F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Greek U+0370 bis U+03FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Cyrillic U+0400 bis U+04FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Armenian U+0530 bis U+058F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Hebrew U+0590 bis U+05FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Arabic U+0600 bis U+06FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Devanagari U+0900 bis U+097F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Bengali U+0980 bis U+09FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Gurmukhi U+0A00 bis U+0A7F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Gujarati U+0A80 bis U+0AFF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Oriya U+0B00 bis U+0B7F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Tamil U+0B80 bis U+0BFF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Telugu U+0C00 bis U+0C7F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Kannada U+0C80 bis U+0CFF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Malayalam U+0D00 bis U+0D7F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Thai U+0E00 bis U+0E7F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Lao U+0E80 bis U+0EFF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Tibetan U+0F00 bis U+0FBF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Georgian U+10A0 bis U+10FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Hangul Jamo U+1100 bis U+11FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Latin Extended Additional U+1E00 bis U+1EFF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Greek Extended U+1F00 bis U+1FFF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
General Punctuation U+2000 bis U+206F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Superscripts and Subscripts U+2070 bis U+209F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Currency Symbols U+20A0 bis U+20CF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Hier ist auch das Eurozeichen-Symbol mit dabei.
Es hat den Wert U+20AC. In HTML dezimal notiert:
€ oder einfacher: €.
Combining Diacritical Marks for Symbols U+20D0 bis U+20FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Letterlike Symbols U+2100 bis U+214F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Number Forms U+2150 bis U+218F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Arrows U+2190 bis U+21FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Mathematical Operators U+2200 bis U+22FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Miscellaneous Technical U+2300 bis U+23FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Control Pictures U+2400 bis U+243F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Optical Character Recognition U+2440 bis U+245F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Enclosed Alphanumerics U+2460 bis U+24FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Box Drawing U+2500 bis U+257F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Block Elements U+2580 bis U+259F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Geometric Shapes U+25A0 bis U+25FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Miscellaneous Symbols U+2600 bis U+26FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Dingbats U+2700 bis U+27BF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
CJK Symbols and Punctuation U+3000 bis U+303F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Hiragana U+3040 bis U+309F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Katakana U+30A0 bis U+30FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Bopomofo U+3100 bis U+312F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Hangul Compatibility Jamo U+3130 bis U+318F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Kanbun U+3190 bis U+319F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Enclosed CJK Letters and Months U+3200 bis U+32FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
CJK Compatibility U+3300 bis U+33FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
CJK Unified Ideographs U+4E00 bis U+9FA5 englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Hangul Syllables U+AC00 bis U+D7A3 englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
High Surrogates U+D800 bis U+DB7F  
Private Use High Surrogates U+DB80 bis U+DBFF  
Low Surrogates U+DC00 bis U+DFFF  
Private Use Area U+E000 bis U+F8FF  
CJK Compatibility Ideographs U+F900 bis U+FAFF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Alphabetic Presentation Forms U+FB00 bis U+FB4F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Arabic Presentation Forms-A U+FB50 bis U+FDFF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Combining Half Marks U+FE20 bis U+FE2F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
CJK Compatibility Forms U+FE30 bis U+FE4F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Small Form Variants U+FE50 bis U+FE6F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Arabic Presentation Forms-B U+FE70 bis U+FEFF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Halfwidth and Fullwidth Forms U+FF00 bis U+FFEF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Specials U+FFF0 bis U+FFFF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung

Erweiterter Bereich des Unicode-Systems (mit vier Byte breiten Zeichen darstellbar):

Name des Zeichenbereichs Zeichenbereich
(hexadezimale Angabe)
Link zur Codetabelle
Linear B Syllabary U+10000 bis U+1007F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Linear B Ideograms U+10080 bis U+100FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Aegean Numbers U+10100 bis U+1013F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Ancient Greek Numbers U+10140 bis U+1018F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Old Italic U+10300 bis U+1032F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Gothic U+10330 bis U+1034F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Ugaritic U+10380 bis U+1039F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Old Persian U+103A0 bis U+103DF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Deseret U+10400 bis U+1044F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Shavian U+10450 bis U+1047F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Osmanya U+10480 bis U+104AF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Cypriot Syllabary U+10800 bis U+1083F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Kharoshthi U+10A00 bis U+10A5F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Byzantine Musical Symbols U+1D000 bis U+1D0FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Musical Symbols U+1D100 bis U+1D1FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Ancient Greek Musical Notation U+1D200 bis U+1D24F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Tai Xuan Jing Symbols U+1D300 bis U+1D35F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Mathematical Alphanumeric Symbols U+1D400 bis U+1D7FF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
CJK Unified Ideographs Extension B U+20000 bis U+2A6D6 englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
CJK Compatibility Ideographs Supplement U+2F800 bis U+2FA1F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Tags U+E0000 bis U+E007F englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Variation Selectors Supplement U+E0100 bis U+E01EF englischsprachige Seite Codetabelle mit grafischer Zeichendarstellung
Supplementary Private Use Area-A U+F0000 bis U+E01EF  
Supplementary Private Use Area-B U+100000 bis U+10FFFF  
 nach oben
weiter Seite Downloadbare Schriftarten
zurück Seite Zeichenkodierungen (ISO-8859-Familie und andere)
 

© 2007 Seite Impressum

Originaladresse dieses Dokuments: http://de.selfhtml.org/inter/unicode.htm