| Unicode |
|---|
| Kodierungen |
| Techniken |
Ein Unicode 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 (Random Access) 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-16 ist das älteste Kodierungsverfahren, bei dem 16 oder 32 Bit zur Kodierung eines Zeichens verwendet werden. 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 alphanumerische Zeichen verwendet, wird vier mal so viel Speicherplatz benötigt wie bei einer Kodierung in ASCII.
UTF-8 kodiert Zeichen in nur 8 Bit. Dabei werden die ersten 7 Bit wie im ASCII-Zeichensatz verwendet. 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 nur 7 Bit darstellt. 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 ist eine Unicode-Erweiterung, die auf dem proprietären 8-Bit EBCDIC-Format von IBM-Großrechnern aufbaut, ähnlich wie UTF-8 auf ASCII. Es wurde mit dem Ziel entwickelt, die Verarbeitung von Unicode Daten durch existierende 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.