Provided by: manpages-de_4.21.0-2_all bug

BEZEICHNUNG

       Unicode - universeller Zeichensatz

BESCHREIBUNG

       Die internationale Norm ISO 10646 definiert den Universal Character Set (UCS). UCS enthält
       sämtliche Zeichen aller anderen  Zeichensatz-Standards.  Er  garantiert  auch  »round-trip
       compatibility«;  mit anderen Worten können Konvertierungstabellen so erstellt werden, dass
       beim Konvertieren einer Zeichenkette zwischen einer anderen Kodierung  und  UCS  keinerlei
       Information verlorengeht.

       Mit  den  in  UCS enthaltenen Zeichen können praktisch alle bekannten Sprachen dargestellt
       werden. Dies umfasst nicht nur  die  lateinische,  griechische,  kyrillische,  hebräische,
       arabische,  armenische  und  georgische  Schrift, sondern auch chinesische, japanische und
       koreanische Han-Ideogramme sowie Schriften wie  Hiragana,  Katakana,  Hangul,  Devanagari,
       Bengali,  Gurmukhi,  Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Thai, Lao, Khmer,
       Bopomofo, Tibetisch, Runen, Äthiopisch, Canadian Syllabics (für die  Sprachen  kanadischer
       Ureinwohner), Cherokee, Mongolisch, Ogham, Birmanisch, Sinhala, Thaana, Yi und andere. Für
       noch nicht abgedeckte Schriften wird  weiter  daran  geforscht,  wie  sie  am  besten  für
       Computernutzung  kodiert  werden.  Eines  Tages  werden  auch sie aufgenommen werden. Dazu
       könnten nicht nur  Hieroglyphen  und  verschiedene  historische  indoeuropäische  Sprachen
       gehören, sondern auch einige ausgewählte Kunstsprachen wie Tengwar, Cirth und Klingonisch.
       UCS umfasst auch eine große Anzahl  von  grafischen,  typografischen,  mathematischen  und
       wissenschaftlichen   Symbolen,  einschließlich  den  von  TeX,  PostScript,  APL,  MS-DOS,
       MS-Windows, Macintosh, OCR-Schriften zur Verfügung gestellten, ebenso  wie  die  Schriften
       vieler Textverarbeitungs- und Publishing-Systeme. Und es kommen weitere hinzu.

       Die  UCS-Norm  (ISO  10646) beschreibt eine 31-Bit-Zeichensatzarchitektur. Sie besteht aus
       128 24-Bit-Gruppen, die jeweils in 256 16-Bit-Ebenen aus 256 8-Bit-Reihen mit 256  Spalten
       (eine  für  jedes  Zeichen)  aufgeteilt  sind. Teil 1 der Norm (ISO 10646-1) definiert die
       ersten 65534 Code-Positionen (0x0000 bis 0xfffd),  welche  die  Basic  Multilingual  Plane
       (BMP)  bilden, also Ebene 0 in der Gruppe 0. Teil 2 der Norm (ISO 10646-2) fügt der Gruppe
       0 Zeichen außerhalb der BMP in mehreren ergänzenden Ebenen im Bereich 0x10000 bis 0x10ffff
       zu.  Es ist nicht geplant, der Norm Zeichen jenseits von 0x10ffff hinzuzufügen. Damit wird
       in absehbarer Zukunft aus dem gesamten  Code-Raum  nur  ein  kleiner  Teil  der  Gruppe  0
       tatsächlich  verwendet  werden.  Die  BMP  enthält alle Zeichen anderer häufig verwendeter
       Zeichensätze. Die Ergänzungsebenen nach ISO 10646-2 decken nur eher exotische Zeichen  für
       spezielle Anforderungen in der Wissenschaft, dem Druck von Wörterbüchern, dem Verlagswesen
       und übergeordneten Protokollen sowie von Enthusiasten ab.

       Die Darstellung jedes einzelnen UCS-Zeichens als 2-Byte-Wort wird als die UCS-2-Form  (nur
       für  BMP-Zeichen)  bezeichnet,  während  UCS-4 die einzelnen Zeichen durch ein 4-Byte-Wort
       darstellt.   Darüber   hinaus   gibt   es   die   zwei    Codierungsformen    UTF-8    für
       Abwärtskompatibilität  mit ASCII-Software und UTF-16 für die abwärtskompatible Bearbeitung
       von Nicht-BMP-Zeichen bis 0x10FFFF durch UCS-2-Software.

       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 Code-Punkte von UCS wurden sogenannten Kombinationszeichen  (combining  characters)
       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. Den wichtigsten Zeichen mit Akzenten wurden eigene
       Codes im UCS zugewiesen. Mit dem Mechanismus der Kombinationszeichen  können  Akzente  und
       andere   diakritische   Markierungen  zu  jedem  beliebigen  Zeichen  hinzugefügt  werden.
       Kombinationszeichen folgen immer dem Zeichen, das sie verändern.  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.

       Kombinationszeichen sind wesentlich zum Beispiel für die Codierung der  Thai-Schrift,  für
       den Satz mathematischer Formeln und Nutzer der internationalen Lautschrift.

   Implementierungsstufen
       Da  nicht  erwartet wird, dass alle Systeme komplexere Mechanismen wie Kombinationszeichen
       unterstützen, beschreibt ISO 10646 die folgenden drei Implementierungsstufen für UCS:

       Stufe 1  Kombinationszeichen und Hangul-Jamo  (eine  Kodierungsvariante  der  koreanischen
                Schrift,   in   der   Zeichen  für  Hangul-Silben  als  zwei-  oder  dreistellige
                Vokal-/Konsonanten-Kombinationen codiert werden) werden nicht unterstützt.

       Stufe 2  Zusätzlich zu Stufe 1 sind Kombinationszeichen  jetzt  für  einige  Sprachen,  in
                denen  sie  unerlässlich  sind (z. B. Thai, Lao, Hebräisch, Arabisch, Devanagari,
                Malayalam) erlaubt.

       Stufe 3  Alle UCS-Zeichen werden unterstützt.

       Der vom Unicode Consortium veröffentlichte Standard Unicode 3.0  enthält  genau  die  »UCS
       Basic  Multilingual  Plane«  auf  der  Implementierungsstufe  3,  wie  in ISO 10646-1:2000
       beschrieben. Unicode 3.1  fügte  die  zusätzlichen  Ebenen  von  ISO  10646-2  hinzu.  Der
       Unicode-Standard  und  vom  Unicode  Consortium veröffentlichte technische Berichte bieten
       viele zusätzliche Informationen über  die  Semantik  und  die  empfohlene  Verwendung  der
       verschiedenen  Zeichen.  Sie  geben  Richtlinien  und Algorithmen für die Bearbeitung, das
       Sortieren, Vergleichen, Normalisieren, Umwandeln und Anzeigen von Unicode-Zeichenketten.

   Unicode unter Linux
       Unter GNU/Linux ist der C-Datentyp wchar_t ein  vorzeichenbehafteter  32-Bit-Ganzzahl-Typ.
       Seine  Werte  werden  von  der  C-Bibliothek  immer  (in  allen Locales) als UCS-Codewerte
       interpretiert. Diese Konvention signalisiert die GNU-C-Bibliothek  Anwendungen  durch  die
       Definition der Konstante __STDC_ISO_10646__, wie es im ISO-C99-Standard spezifiziert ist.

       UCS/Unicode   in   der  ASCII-kompatiblen  UTF-8-Multibyte-Codierung  kann  wie  ASCII  in
       Ein-/Ausgabe-Datenströmen, zur Terminal-Kommunikation, in Klartext-Dateien, Dateinamen und
       Umgebungsvariablen  verwendet  werden.  Um  allen Anwendungen die Verwendung von UTF-8 als
       Zeichencodierung   bekannt   zu   geben,    muss    mittels    Umgebungsvariablen    (z.B.
       »LANG=en_GB.UTF-8«) eine geeignete Locale festgelegt werden.

       Die  Funktion  nl_langinfo(CODESET)  gibt den Namen der ausgewählten Codierung zurück. Mit
       Bibliotheksfunktionen wie wctomb(3) und mbsrtowcs(3) können die  internen  wchar_t-Zeichen
       und  Zeichenketten  in  die  System-Zeichenkodierung  konvertiert  werden (und auch wieder
       zurück). wcwidth(3) gibt an, wie viele Positionen (0…2) der Cursor durch die Ausgabe eines
       Zeichens weitergesetzt wird.

   Bereich für private Nutzung (PUA)
       In der »Basic Multilingual Plane« werden dem Bereich 0xe000 bis 0xf8ff niemals Zeichen vom
       Standard zugewiesen werden - er ist für private Nutzung 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 den Linux-Bereich von 0xf000 bis  0xf8ff,
       in  dem  koordiniert  gemeinsame  Erweiterungen  aller Linux-Benutzer abgelegt werden. Die
       Registrierung der der Linux-Zone zugeordneten Zeichen wird  von  LANANA  betreut  und  die
       Registrierung   selbst  befindet  sich  in  Documentation/admin-guide/unicode.rst  in  den
       Linux-Kernelquellen (oder Documentation/unicode.txt vor Linux 4.10).

       Zwei weitere Ebenen sind für die private  Nutzung  reserviert:  Ebene  16  (»Supplementary
       Private Use Area-A«, Bereich 0xf0000 bis 0xffffd) und Ebene 16 (»Supplementary Private Use
       Area-B«, Bereich 0x100000 bis 0x10fffd).

   Literatur
       •  Information technology – Universal Multiple-Octet Coded Character Set (UCS) –  Part  1:
          Architecture  and  Basic  Multilingual  Plane.  Internationale  Norm  ISO/IEC  10646-1,
          International Organization for Standardization, Genf, 2000.

          Dies ist die offizielle UCS-Spezifikation. Verfügbar unter ⟨http://www.iso.ch/⟩.

       •  The Unicode Standard, Version 3.0. The Unicode Consortium, Addison-Wesley, Reading, MA,
          2000, ISBN 0-201-61633-5.

       •  S. Harbison, G. Steele. C: A Reference Manual. Fourth edition, Prentice Hall, Englewood
          Cliffs, 1995, ISBN 0-13-326224-3.

          Ein gutes Fachbuch über die Programmiersprache C. Die vierte  Auflage  behandelt  jetzt
          auch  den  Nachtrag (Amendment) 1 von 1994 zur ISO-C-Norm (ISO/IEC 9899:1990), der eine
          große Anzahl neuer C-Bibliotheksfunktionen zum Umgang mit Zeichensätzen von mehr als  8
          Bit pro Zeichen hinzufügt. Das Buch behandelt aber noch nicht die ISO-C99-Norm, welcher
          die Unterstützung von Multibyte-Zeichen weiter verbesserte.

       •  Technische Unicode-Berichte
          ⟨http://www.unicode.org/reports/⟩

       •  Markus Kuhn: UTF-8 and Unicode FAQ for UNIX/Linux.
          ⟨http://www.cl.cam.ac.uk/~mgk25/unicode.html⟩

       •  Bruno Haible: Unicode HOWTO
          ⟨http://www.tldp.org/HOWTO/Unicode-HOWTO.html

SIEHE AUCH

       locale(1), setlocale(3), charsets(7), utf-8(7)

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Johnny Teveßen <j.tevessen@gmx.de>
       und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ oder neuer bezüglich der  Copyright-
       Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an die Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.