Unicode - Ergaenzungen u. Glossar
Thomas Berger
ThB.com at t-online.de
Mo Jan 19 10:30:43 CET 1998
Liebe Liste,
vielen Dank vor allem an Herrn Wittern und Herrn Hahn,
ich hatte seit Jahren immer nur die URL des Unicode-
Consortiums beobachtet und wenig verstanden. Inzwischen
ist mir einiges klarer...
Zunaechst noch ein paar vielleicht nuetzliche Hinweise:
Der von Herrn Hahn erwaehnte UniEdit besitzt auch einen
Offline-Filter ucs2&utf.exe fuer die Konversion von
UCS2 nach UTF7/UTF8 und zuerueck.
Ergaenzende Dokumente finden sich auch unter
http://www.stonehand.com/unicode/standard/
Es gibt ein paar RFC's (2152, 2044, -1642-, 1641) die
Unicode erlaeutern, eine guenstige Quelle (Konversion
nach HTML on-the-fly) ist etwa
http://andrew2.andrew.cmu.edu
####
Ansonsten hier mein derzeitiger Erkenntnisstand
betreffend die Begrifflichkeiten, wesentliche
Informationen (Unicode, ISO 10646) habe ich allerdings
noch nicht online gefunden:
UCS... Universal Code Space(???) Universal Coding Scheme(???)
UTF... UCS Transformation Format
ISO/IEC 10646: Soweit ich herausfinden kann, Normierungen
fuer ein 31-bittiges Modell (4 Bytes pro Zeichen). Grob
gerechnet koennen damit 2147483648 Zeichen codiert werden.
Der 'canonical Code Space von ISO 20646' aka UCS-4 besteht
aus den 4-Byte-Repraesentationen dieser Zeichen.
Die Zeichen mit den Repraesentationen 0x00000000 bis 0x000000FF
entsprechen dem Zeichensatz ISO Latin-1 ("Windows-ANSI").
UCS-4: siehe ISO/IEC 10646
BMP: Basic Multilingual Plane (von ISO 10646)
enthaelt die (65536) Repraesentationen 0x00000000
bis 0x0000FFFF aus UCS-4.
UCS-2: Ein 16-bittiger Codierungsvorrat (2 Byte pro Zeichen)
fuer die Zeichen aus der BMP. Die Zeichen, deren ersten
beiden Bytes Null sind, werden durch die letzten beiden
Bytes repraesentiert. Schreibe also 0x123A statt 0x0000123A.
UCS-2E: heisst jetzt UTF-16
UTF-16:
In der BMP von ISO 10646 gibt es einen reservierten Bereich
(S-Zone, 0x0000D800 bis 0x0000DFFF, damit ist dann auch der
Bereich 0xD800 bis 0xDFFF in UCS-2 reserviert), der benutzt
werden, kann, um die Zeichen 0x00010000 bis 0x0010FFFF
als Paare von UCS-2 Codes abzubilden. Die Zeichen
0x00110000 bis 0x7FFFFFFF koennen nicht abgebildet werden.
UTF-8:
Darstellung geeignet fuer Texte aus europaeischen Sprachen:
von den Codierungen 0x00000000 bis 0x0000007F (7-Bit ASCII)
wird nur das letzte Byte genommen, alle anderen werden durch
Sequenzen von 2 bis 6 Bytes dargestellt. Fuer UCS-2-Daten
ist die maximale Sequenz drei Bytes lang, fuer UTF-16-Daten
ist sie maximal 4 Bytes.
UTF-8 wird von den 4er-Versionen der Browser von Netscape
und Microsoft verstanden.
UTF-7:
Darstellung geeignet fuer die Uebertragung von Mails,
Vorschlag fuer einen MIME-Typ "Unicode".
Analog wie "=" in der bekannten MIME-Codierung "Quoted-
Printable" wird hierfuer das "+" als Escape-Zeichen
und ansonsten der "uebliche" BASE64-Algorithmus benutzt,
um UCS-2-Daten in Sequenzen von Bytes aus dem Bereich
0x20-0x7F abzubilden.
Unicode: Ein mit ISO 10646 kompatibler Standard.
Die Zeichen aus der BMP von ISO 10646 haben dieselbe
Bedeutung und UCS-2-Codierung. Unicode-Systeme koennen
dadurch qualifiziert werden, ob sie UCS-2 oder auch
(ob und wie) UTF-16-Daten verarbeiten koennen.
####
Mehr Terminologie (sehr kompliziert, da versucht wird,
Zeichen, Bedeutungen, Repraesentationen und Codierungen
klar(?) auseinanderzudividieren):
Group: (Gruppe)
In der Sprache von ISO 10646 ein Bereich von 16777216
Cells, etwa codiert durch Codierungen mit konstanten
ersten Byte.
Plane: (Ebene)
In der Sprache von ISO 10646 ein Bereich von 65635
Cells innerhalb einer festen Group, etwa codiert durch
Codierungen mit konstanten ersten zwei Bytes
Row: (Zeile)
In der Sprache von ISO 10646 ein Bereich von 256
Cells innerhalb einer festen Plane und Group, etwa
codiert durch Codierungen mit konstanten ersten drei
Bytes.
0x xx yy zz ww
Group Plane Row
Cell: (Zelle)
"Ort" fuer ein Zeichen, codierbar durch eine eindeutige
Folge von vier Bytes.
O-Zone: Bereich von 0xA000 bis 0xD7FF in der BMP
S-Zone: Bereich von 0xD7FF bis 0xDFFFF in der BMP
reserviert fuer UTF-16-Codierungen
####
Was nicht hierhin gehoert:
ANSI Z39.64 Anscheinend ein 24bittiges Codierungsschema.
####
Kommentare und weitere Erlaeuterungen erwuenscht!
Viele Gruesse
Thomas Berger
Mehr Informationen über die Mailingliste Allegro