- UTF
-
Unicode Kodierungen Techniken Ein Unicode Transformation Format, auch UCS Transformation Format, abgekürzt UTF, ist eine Methode, Unicode-Zeichen auf Folgen von Bytes abzubilden.
Für die Repräsentation der Unicode-Zeichen zum Zweck der elektronischen Datenverarbeitung gibt es verschiedene Transformationsformate. In jedem der Formate lassen sich alle 1.114.112 im Unicode-Standard enthaltenen Zeichen (Codepoints) darstellen. Auch lässt sich jedes dieser Formate verlustfrei in ein anderes UTF-Format konvertieren.
Die verschiedenen Formate unterscheiden sich hinsichtlich deren Platzbedarf auf Speichermedien (Speichereffizienz), dem Kodierungs- und Dekodierungsaufwand (Laufzeitverhalten) sowie in ihrer Kompatibilität zu anderen (älteren) Kodierungsarten, zum Beispiel ASCII. Während beispielsweise einige Formate sehr effizienten Zugriff (wahlfreier Zugriff) auf einzelne Zeichen innerhalb der Zeichenkette erlauben, gehen andere sparsam mit Speicherplatz um. Daher ist bei der Auswahl eines bestimmten Unicode-Transformationsformats das für das vorgesehene Anwendungsgebiet geeignetste zu bestimmen.
Inhaltsverzeichnis
UTF-7, UTF-8, UTF-16 und UTF-32
UTF-32 kodiert ein Zeichen in 32 Bit und ist damit am einfachsten, da keine variable Bytelänge benutzt wird und Zeichen am schnellsten gehandhabt werden können, allerdings auf Kosten der Speichergröße – werden nur Zeichen des ASCII-Zeichensatzes verwendet, wird viermal so viel Speicherplatz benötigt wie bei einer Kodierung in ASCII.
UTF-16 ist das älteste Kodierungsverfahren, bei dem ein oder zwei 16-Bit-Einheiten (2 oder 4 Bytes) zur Kodierung eines Zeichens verwendet werden.
UTF-8 kodiert Zeichen in 8-Bit-Einheiten (Bytes). Dabei wird ein Unicodezeichen in 1 bis 4 Bytes kodiert. Die Codepoints 0 bis 127, die dem ASCII-Zeichensatz entsprechen, werden in einem Byte kodiert, wobei das höchstwertige Bit stets 0 ist. Mithilfe des 8. Bits kann ein längeres Unicode-Zeichen eingeleitet werden, was sich auf 2, 3 oder 4 Byte erstreckt. Damit wird bei auf dem lateinischen Alphabet basierenden Schriften am effizientesten mit dem Speicherplatz umgegangen.
UTF-7 ist ein veraltetes Format, welches Unicode-Zeichen in druckbare ASCII-Zeichen (die jeweils nur die unteren 7 Bit eines Bytes benötigen, daher der Name des Formats) kodiert. Das Format war für die Übertragung von Unicode-Texten über 7-Bit-Kanäle gedacht (z. B. E-Mail oder Usenet), konnte sich allerdings nicht durchsetzen.
UTF-EBCDIC
UTF-EBCDIC ist eine Unicode-Kodierung, die auf dem proprietären 8-Bit EBCDIC-Format von IBM-Großrechnern aufbaut, ähnlich wie UTF-8 auf ASCII.
Es kodiert die ersten 160 Unicode-Zeichen (das sind 65 Steuerzeichen und die 95 graphischen Zeichen aus ASCII) in jeweils einem Byte an den bei EBCDIC üblichen Positionen, soweit existent, den restlichen Unicode-Vorrat analog zu UTF-8 in jeweils zwei bis fünf Bytes (bzw. bis sieben für Codepositionen, die schon mit UTF-16 nicht darstellbar sind, und daher wohl nie mit Zeichen belegt werden), an Positionen, die bei diversen EBCDIC-Codepages mit verschiedenen graphischen Zeichen belegt sind. Die BOM etwa wird zu (hexadezimal)
DD 73 66 73
(einer vier-Byte-Sequenz).Es wurde mit dem Ziel entwickelt, die Verarbeitung von Unicode-Daten in existierenden Mainframe-Anwendungen zu erleichtern. In der Praxis wird UTF-EBCDIC auch auf Mainframes nur selten benutzt.
IBM-EBCDIC-basierte Mainframe-Betriebssysteme wie z/OS, benutzen in der Regel UTF-16. Beispielsweise wird UTF-16 von Komponenten wie DB2-UDB, COBOL, PL/I, Java und dem IBM XML Toolkit unterstützt.
Siehe auch
Weblinks
Wikimedia Foundation.