[an error occurred while processing this directive]

Einführung in die Kodierung von XML-Dokumenten durch Oktette. [] (xml encoding utf-8 Unicode iso-8859-1 us-ascii Codierung Codierungen Kodierung Kodierungen), Lektion, Seite 721283
https://www.purl.org/stefan_ram/pub/xml_codierung_de (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram

XML -Kodierungen

Ein XML -Dokument oder irgendein Teil solch eines Dokuments wird hier auch als Quelltext  bezeichnet. Der Quelltext ist eine Folge von Zeichen, die auch Quelltextzeichen  oder Quellzeichen  genannt werden können.

Quelltext wird programmgesteuert erzeugt, beispielsweise mit Hilfe eines Texteditors. Ein Zeichen kann in einer binären Rechenanlage nur in Form von Bits  dargestellt werden. Es muß also binär kodiert  werden. Die Bits werden dabei meistens in Achtergruppen zu einem Oktett  zusammengefaßt. Ein Zeichen wird meistens durch einen oder mehrere Oktettwerte dargestellt. Quelltext muß also auf einem Rechner durch Oktette werden. Es gibt aber verschiedene Arten, wie  Zeichen durch Oktettwerte dargestellt  werden können.

Ein bestimmte Festlegung zur Darstellung von Zeichen durch Bits wird als Kodierungsverfahren  oder kurz Kodierung  bezeichnet. Wenn die Bits dabei zu Oktetten zusammengefaßt werden, dann kann man auch von einer Oktettkodierung  sprechen. Die Menge aller mit einer Kodierung darstellbaren Zeichen nennt man auch den Zeichenvorrat  oder das Zeichenrepertoire  dieser Kodierung.

XML -Dokumente werden auf einem Rechner mit einer bestimmten Kodierung dargestellt.

Zur Darstellung eines XML -Dokuments kommen verschiedene Kodierungsverfahren in Frage.

Einige Kodierungen

ANSI_X3.4-1968

Die klassische Kodierung ANSI_X3.4-1968  (auch bekannt als „ASCII-Code “) definiert für 95 Schriftzeichen, einschließlich des Leerzeichens, Oktettwerte. Hinzu kommen 33 Steuerzeichen. Die Kodierung ANSI_X3.4-1968  verwendet eigentlich nur sieben Bit, wird aber heute meist durch einen vorangestellten Bitwert 0 zu einer Oktettkodierung ergänzt.

ISO-8859-1

Derzeit in westeuropäischen Ländern beliebt, ist die Oktettkodierung ISO-8859-1, deren Zeichenvorrat den der Kodierung US-ASCII  um verschiedene europäische und andere Schriftzeichen erweitert und auch die deutschen Umlaute  enthält, die im Zeichenvorrat von ANSI_X3.4-1968  nicht enthalten sind. Dazu wird den sieben Bits der Kodierung US-ASCII  der Bitwert 0 vorangestellt, wenn praktisch die Kodierung ANSI_X3.4-1968  verwendet werden soll. Beginnt ein Oktett statt dessen mit dem Bitwert 1, so wird das Oktett durch ergänzende Festlegungen der Oktettkodierung ISO-8859-1  interpretiert, die so 128 weitere Zeichen definieren kann.

UTF-8

Der Zeichenvorrat der Kodierung UTF-8  ist mit mehreren zehntausend Zeichen noch einmal viel größer als der Zeichenvorrat der Kodierung ISO-8859-1. Durch die Verwendung der Kodierung UTF-8  entfällt die Notwendigkeit, für verschiedene Sprachen spezielle Codes zu verwenden, da die meisten gebräuchlichen Alphabete im Zeichenvorrat der Kodierung UTF-8  enthalten sind. Weil die Kodierung UTF-8  aber noch relativ neu ist und die Anzeige des gesamten Zeichenvorrates auch entsprechend umfangreiche Glyphenvorräte (fonts, also Schriftdateien) verlangt, ist es derzeit noch nicht immer möglich, den gesamten Zeichenvorrat der Kodierung UTF-8  zu nutzen. Der große Zeichenvorrat der Kodierung UTF-8  wird dadurch ermöglicht, daß nun auch mehrere direkt aufeinanderfolgende Oktette zur Darstellung eines Zeichens verwendet werden. Dabei werden die Zeichen aus dem Zeichenvorrat der Kodierung ISO-8859-1, die im Zeichenvorrat von US-ASCII  nicht enthalten sind, anders kodiert  als mit der Kodierung ISO-8859-1. Das bedeutet beispielsweise, daß die Oktettdarstellung eines deutschen Umlautes in der Kodierung UTF-8  anders ist als in der Kodierung ISO-8859-1.

Die Oktettdarstellung des Zeichenvorrates der Kodierung US-ASCII  ist bei allen drei genannten Kodierungen gleich. Das bedeutet, daß eine Oktettfolge, die nur Zeichen aus dem Zeichenvorrat der Kodierung US-ASCII  darstellt, mit allen drei Kodierungen gleichermaßen richtig interpretiert wird.

Die Kennzeichnung der Kodierung eines XML -Dokuments

Wegen der genannten Vorteile der Kodierung UTF-8, empfiehlt sich diese besonders für XML -Quelltext. Die XML -Empfehlung verlangt von einem XML -Prozessor auch nur, daß er XML -Quelltext in der Kodierung UTF-8  (oder der Kodierung UTF-16 ) lesen kann.

Die Kodierung eines XML -Dokuments wird ganz am Anfang des XML -Dokuments in der XML -Deklaration angegeben. Hierzu dient eine Kodierungsdeklaration, wie beispielsweise die Kodierungsdeklaration "encoding="UTF8"" in dem folgenden Beispiel einer XML -Deklaration.

XML-Deklaration fuer UTF-8
<?xml version="1.0" encoding="UTF-8"?>

Da die Kodierung "UTF-8" aber ohnehin als Vorgabewert für die Kodierung gilt, kann in diesem Fall die Kodierungsdeklaration entfallen.

XML-Deklaration fuer UTF-8 (Kurzform)
<?xml version="1.0">

Die Kodierung UTF-8  und die Kodierung ISO-8859-1  stimmen hinsichtlich der Zeichen, die nicht zum Zeichenvorrat der Kodierung US-ASCII  gehören nicht  überein. Das bedeutet, daß bei Verwendung der Kodierung ISO-8859-1  diese unbedingt angegeben werden muß.

XML-Deklaration fuer ISO-8859-1
<?xml version="1.0" encoding="ISO-8859-1"?>

Da die Kodierung US-ASCII  und die Oktettkodierung UTF-8  für den Zeichenvorrat von US-ASCII  übereinstimmen, ist bei Verwendung der Kodierung US-ASCII  auch  die Angabe der Kodierung UTF-8  erlaubt. Auch mit einem „alten“ Editor, der nur die Kodierung US-ASCII  schreiben kann, kann man also in der Kodierung UTF-8  schreiben—allerdings kann man damit alle Zeichen, die nicht zum Zeichenvorrat der Kodierung US-ASCII  gehören, nicht als Quellzeichen darstellen.

Übungsaufgaben

Eine Kodierung festlegen
Verändern Sie den Text "Hallo!" des in einer früheren Lektion verwendeten Beispieldokuments in einen Text mit Umlauten. Ermitteln Sie, welche Kodierung der von Ihnen verwendete Editor zur Speicherung des XML -Dokumentes verwendet oder wählen Sie eine aus, falls der Editor mehrere Möglichkeiten anbietet. Geben Sie dann einmal die richtige und verschiedene falsche Kodierung (z.B. "US-ASCII", "ISO-8859-1" oder "UTF-8") in der XML -Deklaration Ihres Dokuments an und beobachten Sie, wie dies Darstellung und Validierung des Dokuments beeinflußt.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Von der Stefan-Ram-Startseite ausgehend finden sich oft noch mehr Informationen zu Themen, die auf einer Seite angesprochen wurden. (Eine Verbindung zur Stefan-Ram-Startseite befindet sich ganz oben auf dieser Seite.)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. slrprd, PbclevtugFgrsnaEnz