|
|
||
|
|
||
| .. Stichwort: Unicode und UTF-8 | ||
|
|
||
| Die aus Amerika stammende ASCII-Codierung, im Umfang von 128 Steuer- und Sonderzeichen, lateinischen Buchstaben und Ziffern, stellte sich aufgrund der rasanten Fortentwicklung der Computertechnik in allen Ländern dieser Welt, sehr schnell als 'zu kurz gegriffen' heraus. Schon in Europa gab es für jedes Land Zeichen, die im ASCII-Code nicht enthalten waren, ganz zu schweigen von griechischen, arabischen, japanischen, koreanischen, chinesischen und kyrillischen Schriftzeichen oder denen, die in Kulturen des afrikanischen Kontinents gepflegt werden. Diesem Missstand widmete sich das 1991 gegründete Unicode Konsortium. Es sammelte möglichst vollständig alle Schriftzeichen gegenwärtiger und vergangener Kulturen und gruppierte diese zu Zeichensätzen, die nach sprachwissenschaftlichen Kriterien zusammengestellt wurden. Bis zur Unicodeversion 3.0 des Jahres 1999 kam man dabei mit Codes aus, die aus zwei Bytes bestehen und konnte somit 65536 Zeichen verschlüsseln. Diese Grenze wurde mit der Unicodeversion 3.1 vom Jahr 2001, die über 94.000 Zeichen enthält, überschritten. So mußte der Unicode auf vier Bytes ausgedehnt werden. | ||
| ISO/IEC 10646 Die Arbeit des Unicode-Konsortiums wurde inzwischen in die Norm ISO/IEC 10646 übernommen, so dass zumindest die zwei Bytes umfassenden Codes verbindlich sind. Diese werden auch als Basic Multilingual Plane (BMP) bezeichnet. Dabei entsprechen die ersten 128 Codes denen des ASCII-Zeichensatzes. Die weiteren Zeichensets können auf den Seiten des Unicode-Konsortiums nachgelesen und eingesehen werden. | ||
|
Probleme mit dem Unicode
Die meisten Browser und viele
Anwenderapplikationen können inzwischen mit dem Unicode
umgehen. Das zentrale Problem stellen momentan die benötigten
Zeichensätze dar. Der Unicode beschreibt, wie die anderen
Zeichencodes auch, eine Zahl, die als Kennung für ein
bestimmtes Zeichen im Speicher eines Computers abgelegt werden
soll. Er beschreibt nicht die grafische Ausgestaltung, mit der
ein Zeichen auf dem Bildschirm oder auf dem Drucker erscheinen
soll. Hierfür sind die Zeichensätze zuständig, so
wie sie auch jetzt schon in jedem Betriebssystem verfügbar
sind. Beispiele sind die ANSI-Zeichensätze, wie Times New
Roman, Arial usw.
Die Beschaffung der Unicode Zeichensätze
kann durchaus aufwendig und kostspielig werden. Wer zudem einmal
die Grösse eines Zeichensatzes auf seinem Computer
betrachtet hat, wird erschreckt festgestellt haben, dass ein
simpler Zeichensatz wie der der Schriftart 'Times New Roman', um
die 200 bis 300 Kilobyte Speicher beansprucht, obwohl er nur 256
Zeichen enthält. Welcher Speicherumfang ist dann bei 65536
Zeichen oder gar 4.294.967.296 des vier Byte Unicode notwendig?
Es ist klar, dass beim heutigen Stand der
Computertechnik nur Untermengen des Unicode-Zeichensatzes in
einem Computer verfügbar gehalten werden können.
Ein weiteres Problem ist, dass Textdokumente welche den Zeichencode in zwei Bytes aufheben, doppelt so lang sein müssen wie solche, die nur ein Byte pro Zeichen benutzen. Bei vier Bytes wären die Dokumente sogar vier mal so umfangreich. Um den unnötigen Bedarf von Speicherplatz zu begrenzen, wurde eine 'platzsparende' Codierung für den zwei Byte umfassenden Unicode eingeführt. Der Begriff platzsparend gilt hier allerdings nur für die häufig benutzten lateinischen Schriftzeichen. Diese Codierung wird als UTF-8 Codierung bezeichnet. |
||
UTF-8
Codierung des zwei Byte-Unicodes
Bei dieser Verschlüsselung von
Unicodezeichen werden aus den zwei Bytes umfassenden Codezahlen
solche, die ein bis drei Bytes umfassen. Die am häufigsten
benutzten Zeichen des Unicodes werden in einem Byte aufgehoben,
solche die weniger häufig auftreten in zwei Bytes und
seltene Zeichen in drei Bytes.
Damit ein Programm erkennen kann, ob es
ein, zwei oder drei Bytes zum Erhalt des vollständigen
Zeichencodes lesen muss, wurden den Bytes Kennungen oder Masken
mitgegeben. Die Regeln lauten ..
|
||
|
|
|
.de