Zeichensatz

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Ein Zeichensatz (englisch: character set, charset) ist die Gesamtheit der zur Verfügung stehenden Zeichen. Ein Zeichensatz ist ein eher abstraktes Gebilde, das nur die Zeichen selbst und eine Reihenfolge beschreibt, nicht jedoch eine konkrete Abbildung auf Byte-Werte. Das ist Aufgabe der Zeichencodierung.

Beispielsweise ist Unicode ein Zeichensatz, UTF-8 hingegen ist eine Zeichencodierung.

Zur Blütezeit der 1-Byte-Codierungen (für Zeichensätze mit bis zu 256 Zeichen) wurde die Unterscheidung zwischen Zeichensatz und Zeichencodierung in der Praxis oft vernachlässigt. Die Position eines Zeichens im Zeichensatz und seine Codierung ist mit den Werten von 0 bis 255 (= 1 Byte) immer gleich, und auch eindeutig in beide Richtungen. Bei Zeichensätzen mit mehr als 256 Zeichen gibt es jedoch mehrere Verfahren, sie auf Byte-Werte abzubilden, weswegen die Unterscheidung zwischen Zeichensatz und Zeichencodierung wichtig geworden ist.

Der Zeichensatz für HTML-Dokumente ist seit Version 4.0 stets Unicode. Die Zeichencodierung eines konkreten Dokuments (Datei) ist beispielsweise UTF-8 oder ISO-8859-1. Mit einer 1-Byte-Codierung wie ISO-8859-1 können nur deren Zeichen direkt eingefügt werden. Über die Escaping-Mechanismen Numerische Zeichenreferenz und teilweise Entitys lassen sich alle in Unicode definierten Zeichen in ein HTML-Dokument einfügen.

Statt Zeichensatz werden oft die Begriffe Font, Schriftart oder Zeichencodierung verwendet, obwohl diese genau genommen etwas anderes bedeuten. Auch wird die englische Übersetzung charset an vielen Stellen verwendet, an denen korrekterweise encoding (Codierung) stehen müsste. Das betrifft vor allem den Parameter charset im HTTP-Header Content-type und im gleichnamigen HTML-Meta-Element. Im Vorspann einer XML-Datei wird hingegen richtigerweise encoding verwendet.

Weblinks