Provided by:
manpages-de_0.5-2ubuntu1_all 
BEZEICHNUNG
Unicode - der allumfassende 16bit-Zeichensatz
BESCHREIBUNG
Der internationale Standard ISO 10646 definiert das Universal Character
Set (UCS). UCS enthält sämtliche Zeichen sämtlicher anderen
Zeichensatzstandards. Es garantiert auch round-trip compatibility,
d.h. es können Konvertierungstabellen auf eine Art erstellt werden,
dass beim Konvertieren eines Strings zwischen einer anderen Kodierung
und UCS keinerlei Information verlorengeht.
UCS enthält Zeichen zur Repräsentation beinahe jeder bekannten Sprache.
Das beinhaltet neben den vielen Sprachen, die Erweiterungen der
lateinischen Schrift benutzen, auch die folgenden Schriften und
Sprachen: Griechisch, Kyrillisch, Hebräisch, Arabisch, Armenisch,
Gregorianisch, Japanisch, Chinesisch, Hiragana, Katakana, Koreanisch,
Hangul, Devangari, Bengalisch, Gurmukhi, Gujarati, Oriya, Tamilisch,
Telugu, Kannada, Malayam, Thai, Lao, Bopomofo und einige andere.
Zurzeit wird daran gearbeitet, weitere Schriften wie Tibetanisch,
Khmer, Runen, Äthiopisch, Hieroglyphen, verschiedene Indo-Europäische
Sprachen und viele andere ebenfalls zu erfassen. Bei den meisten der
letzteren Schriften war bis zum Zeitpunkt der Veröffentlichung des
Standards 1993 noch nicht geklärt, wie sie am besten kodiert werden
könnten. Zusätzlich zu den von diesen Schriften benötigten Zeichen
wurde auch eine große Anzahl von graphischen, typographischen,
mathematischen und wissenschaftlichen Symbolen wie etwa denen von TeX,
PostScript, MS-DOS, Macintosh, Videotext, OCR und vielen
Textverarbeitungen integriert, außerdem spezielle Codes, die round-trip
compability mit allen existierenden Zeichensätzen garantieren.
Der UCS Standard (ISO 10646) beschreibt eine 31-bittige
Zeichensatzarchitektur. Bisher wurde jedoch erst den ersten 65534
Positionen (0x0000 bis 0xfffd), der Basic Multilingual Plane (BMP),
Zeichen zugewiesen, und es wird erwartet, dass nur sehr exotische
Zeichen (z.B. Hieroglyphen) für besondere wissenschaftliche Zwecke
jemals außerhalb dieser 16-Bit BMP platziert werden.
Die UCS Zeichen 0x0000 bis 0x007f sind mit denen des klassischen US-
ASCII Zeichensatzes, und die Zeichen im Bereich von 0x0000 bis 0x00ff
mit denen des ISO 8859-1 Latin-1 Zeichensatzes identisch.
KOMBINATIONSZEICHEN
Einige Stellen im UCS wurden so genannten combining characters
(Kombinationszeichen) zugewiesen. Sie sind mit den Akzenttasten auf
Schreibmaschinen vergleichbar, bei denen sich die Schreibposition nicht
verändert. Ein Kombinationszeichen fügt dem vorhergehenden Zeichen
einfach einen Akzent hinzu. Die wichtigsten akzentuierten Zeichen
besitzen eigene Codes im UCS, doch der Mechanismus der
Kombinationszeichen erlaubt es, Akzente und andere diakritische
Markierungen zu jedem beliebigen Zeichen hinzuzufügen.
Kombinationszeichen folgen immer demjenigen Zeichen, auf das sie sich
auswirken sollen. Zum Beispiel kann das Deutsche "Ä" (oder "Latin
capital letter A with diaeresis") entweder durch den festen UCS Code
0x00c4 oder alternativ als Kombination des normalen "A" ("Latin capital
letter A") gefolgt vom Kombinationszeichen für "doppelt gepunktet"
("combining diaeresis") als 0x0041 0x0308 dargestellt werden.
IMPLEMENTATIONSSTUFEN
Da nicht erwartet werden kann, dass alle Systeme komplexere Mechanismen
wie Kombinationszeichen unterstützen können, spezifiziert ISO 10646 die
folgenden drei Implementationsstufen für UCS:
Stufe 1 Kombinationszeichen und Hangul Jamo-Zeichen (eine besondere,
kompliziertere Kodierung der koreanischen Schrift, in der
Hangul-Silben als zwei bis drei Unterzeichen kodiert werden)
werden nicht unterstützt.
Stufe 2 Wie Stufe 1, außer dass in einigen Schriften einige
Kombinationszeichen nicht erlaubt sind (z.B. in Hebräisch,
Arabisch, Devangari, Bengalisch, Gurmukhi, Gujarati, Oriya,
Tamil, Telugo, Kannada, Malayalam, Thai und Lao).
Stufe 3 Alle UCS Zeichen werden unterstützt.
Der vom Unicode Consortium veröffentlichte Unicode 1.1-Standard enthält
exakt die UCS Basic Multilingual Plane auf Implementationsstufe 3, wie
sie in ISO 10646 beschrieben ist. Unicode 1.1 fügt der Definition von
ISO 10646 außerdem einige semantische Definitionen für einige Zeichen
hinzu.
UNICODE UNTER LINUX
Unter Linux sollte im Moment nur BMP auf Implementationsstufe 1 benutzt
werden, um die Komplexizität der Implementation von Kombinationszeichen
gering zu halten. Die höheren Implementationsstufen sind eher für
besondere Textverarbeitungsformate angebracht, jedoch nicht als
universeller Systemzeichensatz. Der C-Typ wchar_t ist in Linux ein
16-Bit unsigned int, und seine Werte werden als UCS Stufe 1 BMP Codes
interpretiert. Die "locale"-Einstellung bestimmt, ob die
Zeichenkodierung des Systems beispielsweise UTF-8 oder ISO-8859-1 ist.
Bibliotheksfunktionsn wie etwa wctomb, mbtowc oder wprintf können
benutzt werden, um die internen wchar_t Zeichen und Strings in die
Zeichenkodierung des Systems und zurück zu konvertieren.
PRIVATBEREICH
Im BMP werden dem Bereich 0xe000 bis 0xf8ff niemals Zeichen vom
Standard zugewiesen werden - er ist für private Benutzung reserviert.
Für die Linux-Gemeinde wurde dieser Privatbereich weiter unterteilt in
den Bereich 0xe000 bis 0xefff, der vom Endbenutzer individuell benutzt
werden kann, und dem Linux-Bereich von 0xf000 bix 0xf8ff, in dem
koordiniert gemeinsame Erweiterungen aller Linux-User abgelegt werden.
Die Registrierung der diesem Bereich zugeordneten Zeichen wird momentan
von H. Peter Anvin <Peter.Anvin@linux.org>, Yggdrasil Computing, Inc.
verwaltet. Sie enthält einige DEC VT100 Graphikzeichen, die in Unicode
fehlen, ermöglicht direkten Zugriff auf die Zeichen im Fontbuffer der
Console und enthält Zeichen, die von einigen weiteren Schriften wie
Klingonisch benutzt werden.
LITERATUR
* Information technology - Universal Multiple-Octet Coded Character Set
(UCS) - Part 1: Architecture and Basic Multilingual Plane.
International Standard ISO 10646-1, International Organization for
Standardization, Genf, 1993.
Dies ist die offizielle Spezifikation von UCS. Ziemlich offiziell,
ziemlich dick und auch ziemlich teuer. Informationen zur Bestellung
gibt es auf http://www.iso.ch/.
* The Unicode Standard - Worldwide Character Encoding Version 1.0. The
Unicode Consortium, Addison-Wesley, Reading, MA, 1991.
Unicode 1.1.4 ist bereits verfügbar. Die Änderungen gegenüber dem
1.0er-Buch sind auf ftp://ftp.unicode.org/ erhältlich. Unicode 2.0
wird 1996 erneut als Buch veröffentlicht werden.
* S. Harbison, G. Steele. C - A Reference Manual. Fourth edition,
Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.
Ein gutes Referenzbuch über die Programmiersprache C. Die vierte
Auflage behandelt jetzt auch das Amendment 1 von 1994 zum ISO C-
Standard (ISO/IEC 9899:1990), das eine große Anzahl neuer C-
Bibliotheksfunktionen zum Umgang mit Zeichensätzen von mehr als 8 Bit
pro Zeichen hinzufügt.
BUGS
Zum Zeitpunkt der Erstellung dieser Manpage war die Unterstützung von
UCS durch die Linux libc weit entfernt davon, vollständig zu sein.
AUTOR
Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
ÜBERSETZUNG
Johnny Teveßen <j.tevessen@gmx.de>
SIEHE AUCH
utf-8(7).