Thread View: de.comp.misc
2 messages
2 total messages
Started by Markus Kuhn
Mon, 17 Aug 1992 16:48
ISO 10646 UCS Zeichensatz
Author: Markus Kuhn
Date: Mon, 17 Aug 1992 16:48
Date: Mon, 17 Aug 1992 16:48
61 lines
3399 bytes
3399 bytes
Der endgueltige Zeichensatz
---------------------------
Auf dieser Erde werden weitaus mehr Zeichensaetze benutzt als mit 8 Bits
darstellbar sind. Daher ist der heute gebraeuchliche Standardzeichensatz
ISO Latin alphabet No. 1 sicher auch nur eine Uebergangsloesung. Fuer
die Abkehr von 8-Bit Zeichensaetzen spricht insbesondere:
- Einige Sprachen (Chinesisch, Japanisch, Koreanisch) koennen alleine
schon nicht durch einen 8-Bit Zeichensatz dargestellt werden.
- Es besteht zwar die Moeglichkeit mit ESC-Sequenzen zwischen
vielen 8-Bit Zeichensaetzen umzuschalten (ISO 2022), jedoch sind
damit im Programmiereralltag viele Probleme verbunden, z.B.
weiss man mit einem Pointer in einen String nicht, welcher
Zeichensatz gerade aktiv ist.
Daher hat man sich inzwischen auf einen allumfassenden 32-bit Zeichensatz
ISO 10646 UCS (Unified multi-octet coded character set) geeinigt.
Derzeit ist man noch in der Lage, alle Zeichen in den ersten 2**16 Zellen
des UCS, in der BMP (basic multilingual plane) unterzubringen, die auch
als Unicode Zeichensatz oder UCS-2 bekannt ist. Evtl. wird es spaeter
Erweiterungen im vollen 32-bit Raum geben, um z.B. die in mehreren
Sprachen vorkommenden Zeichen getrennt aufzufuehren, was fuer eine
landesspezifische Sortierung/Kleingrossumwandlung/... noetig waere.
Es ist bereits abzusehen, dass sich UCS-2 (also das 16-bit Subset)
auf dem Markt durchsetzen wird, da hierfuer bereits seit langem ein
Bedarf besteht. Ob UCS-4 (die volle 32-bit Variante) sich ausser in
Spezialanwendungen durchsetzen wird bleibt auzuwarten, der Implementations-
aufwand ist sicherlich groesser.
Da die ersten 256 Eintraege der UCS Tabelle genau dem Latin 1 entspricht,
werden wir es in Zukunft wohl hauptsaechlich mit folgenden 4 Zeichensatz-
ebenen zu tun haben:
in ISO 10646 UCS
klassischer US-ASCII 00000000 - 0000007f
ISO 8859-1 Latin 1 00000000 - 000000ff
UCS-2 (16-bit Subset) 00000000 - 0000ffff
UCS-4 (der volle UCS) 00000000 - ffffffff
In UCS-2 wurden die beiden Zeichen feff und fffe reserviert, um eine
Unterscheidung zwischen Bigendian und Littleendian Dateien zu ermoeglichen.
Da daher kuenftig wohl jede anstaendige UCS-Datei mit feff (oder mit dem
verbotenen Wert fffe -> Bytes sind zu vertauschen) beginnt, lassen sich in
kuenftigen Betriebssystemen, die UCS-2 unterstuetzen UCS und ASCII-Dateien
leicht unterscheiden.
In der Zeitschrift c't September 1992 ist uebrigens ein Teil der UCS
Tabelle abgedruckt.
Markus
--
Markus Kuhn, Computer Science student -=-=- University of Erlangen, Germany
Internet: mskuhn@immd4.informatik.uni-erlangen.de | X.500 entry available
-A distributed system is one in which the failure of a computer you didn't-
-even know existed can render your own computer unusable. (Leslie Lamport)-
Re: ISO 10646 UCS Zeichensatz
Author: Peter Niederberghaus
Date: Fri, 21 Aug 1992 06:50
Date: Fri, 21 Aug 1992 06:50
27 lines
1838 bytes
1838 bytes
In article <Bt5011.94s@immd4.informatik.uni-erlangen.de> mskuhn@immd4.informatik.uni-erlangen.de (Markus Kuhn) writes:
>
>In UCS-2 wurden die beiden Zeichen feff und fffe reserviert, um eine
>Unterscheidung zwischen Bigendian und Littleendian Dateien zu ermoeglichen.
>Da daher kuenftig wohl jede anstaendige UCS-Datei mit feff (oder mit dem
>verbotenen Wert fffe -> Bytes sind zu vertauschen) beginnt, lassen sich in
>kuenftigen Betriebssystemen, die UCS-2 unterstuetzen UCS und ASCII-Dateien
>leicht unterscheiden.
>
Kleine Korrektur: Reserviert sind die Werte FFFEh und FFFFh. Der Wert FEFFh ist
ein legaler Wert und stellt ein Leerzeichen ohne Breite dar. Taucht also in
einem Text der Wert FFFEh auf, so wurden die Octets in falscher Reihenfolge
(Bigendian <-> Littleendian) gelesen. Erscheint dagegen das Zeichen FEFFh,
so handelt es sich einfach nur um ein legales Zeichen und implizit wird
damit die Bytefolge als korrekt bestaetigt. Wird es als erstes Zeichen
verwendet, um die Bytefolge eindeutig festzulegen, so hat dies keinerlei
Auswirkungen auf den Inhalt, da es nicht darstellbar ist.
Ciao,
Peter.
--
Peter Niederberghaus - Schwalbenweg 4 - W4400 Muenster
Voice: +49-251-615302 - E-Mail: peter@kappa.ms.open.de
--
"SNG NX MPLS SR MST B KND F HDBNGR WH DNT ND N VWLS!"
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads