In der Welt der Zeichenkodierung gibt es viele Fragen. Woraus besteht ein Zeichensatz und und wie setze ich ihn ein?
Im Folgenden wird erklärt was welcher Zeichensatz kann und wie die Zeichenkodierung zu verstehen ist.
Grundlagen
Jeder weiß: Ein Computer arbeitet mit Zahlen. Wir Menschen benötigen allerdings Zeichen (Buchstaben), um zu verstehen was der Computer von uns will. Dazu muss eine Zahlenkombination in ein Zeichen umgewandelt werden. Dies macht ein Zeichensatz. In dem Zeichensatz ist definiert, welche Zahl welches Zeichen darstellt. Dies ist allerdings vom Zeichensatz abhängig.
Hier ein Beispiel:
Nehmen wir an, der Computer will uns das
erste Zeichen anzeigen. Nun kann es sein, dass in einem Zeichensatz das
erste Zeichen ein "A" ist, aber im anderen Zeichensatz ist das erste
Zeichen ein "a". Um das richtige Zeichen anzuzeigen, benötigt man daher
auch den richtigen Zeichensatz (z.B. im Browser).
Zeichensätze
ASCII
Einer
der ersten Zeichensätze war der ASCII Zeichensatz [1]. er kann genau 128
verschiedene Zeichen darstellen, von denen allerdings nur 95 druckbar
sind:
␣!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~
Wie man sieht sind
dies nur die grundlegendsten aller Zeichen. Die anderen 33 Zeichen sind
die sogenannten Steuerzeichen (z.B. Tabulator, Zeilenumbruch usw.)
ISO 8859
Mit
dem Ascii Zeichensatz ist es nicht möglich Umlaute darzustellen,
geschweige denn andere (europäische) Sonderzeichen. Von den ganzen
japanischen, chinesischen und russischen Buchstaben wollen wir hier
erst gar nicht anfangen. Dazu entwickelte man den ISO 8859 Standard [1]. Er
umfasst nun 256 Zeichen und ist in 15 Ausführungen erhältlich. Der
ASCII Zeichensatz wurde dabei zur Kompatibilität übernommen und weitere
Zeichen hinzugefügt. So enthält der Zeichensatz ISO 8859-1 (auch
Latin-1 genannt) alle deutschen Umlaute, das scharfe S (ß), allerdings
nicht das €-Zeichen. Dies wiederrum ist im Zeichensatz ISO 8859-15 zu
finden.
Windows-1252
Der auch als als CP1252 bekannte
Zeichensatz ist bis auf 32 Zeichen dem ISO 8859 Standard gleich. Er
wird in der Windows-Welt auch als "Westeuropäisch" bezeichnet,
vorzufinden z.B. in Adobe Dreamweaver.
ANSI
ANSI ist
in der Hinsicht kein Zeichensatz, vielmehr ist es die Abkürzung von
"American National Standards Institute", vergleichbar mit der Deutschen
Industrie Norm DIN.
In vielen Editoren wird ANSI als Alias für den Windows-1252 Zeichensatz angegeben.
Unicode
ISO 8859 hin oder her, die fernöstlichen Länder sind damit aber immer noch nicht abgedeckt.
Erst
der Unicode Zeichensatz [1] sollte dies vollenden und wirklich alle
möglichen Schriftsymbole in einem Zeichensatz vereinen. Im Gegensatz zu
seinen Vorgängern kann er mehr als eine Million Zeichen enthalten,
wovon lediglich nur ca 10% wirklich benötigt werden.
UTF-8 und UTF-16
Dies
sind Kodierungen vom Unicode Zeichensatz. Dabei liegt der Sinn und
Zweck von UTF-8 in der Komprimierung (1-4 Byte pro Zeichen) des Unicode
Zeichensatzes. UTF-16 hat genau 16 Byte für jedes Zeichen reserviert
und ist somit speicherintensiver als UTF-8.
BOM
Das
"Byte Order Mark" [2]ist ein spezielles Steuerzeichen. Wenn es existiert,
befindet es sich immer am Anfang des Datenstroms einer
Unicode-Zeichenkette und bestimmt in welcher Reihenfolge die Bytes
ausgewertet werden müssen. Wenn das BOM in der Unicode-Zeichenkette
nicht vorhanden ist, wird die Bytefolge der Zeichenkette immer
rückwärts ausgewertet.
Fazit
Hiermit wären alle
Zeichensätze kurz und einfach erklärt. In unsererm nächsten Artikel
beschreiben wir wie man von einem zum anderen Zeichensatz konvertiert
und welche Zeichenkodierungen am sinnvollsten für eine Internetseite
sind.
weiterführende Links
[1] http://de.wikipedia.org/wiki/Zeichensatz#Internationale_Zeichens.C3.A4tze
[2] http://de.wikipedia.org/wiki/Byte_Order_Mark
http://www.selfhtml.net/inter/index.htm
Bookmarks:
Delicious Facebook Google Yahoo Mr. Wong Linkarena Digg