www.wikidata.de-de.nina.az
Dieser Artikel beschreibt das Unicode Format UTF zum Ungeschutzten Transportfahrzeug UTF siehe Liste von Radfahrzeugen der Bundeswehr UTF Ein Unicode Transformation Format auch UCS Transformation Format abgekurzt UTF ist eine Methode Unicode Zeichen auf Folgen von Bytes abzubilden Fur die Reprasentation der Unicode Zeichen zum Zweck der elektronischen Datenverarbeitung gibt es verschiedene Transformationsformate In jedem der Formate lassen sich alle im Unicode Standard enthaltenen Zeichen Codepoints darstellen Auch lasst sich jedes dieser Formate verlustfrei in eine andere UTF Variante konvertieren Die verschiedenen Formate unterscheiden sich hinsichtlich ihres Platzbedarfs auf Speichermedien Speichereffizienz dem Kodierungs und Dekodierungsaufwand Laufzeitverhalten sowie in ihrer Kompatibilitat zu anderen alteren Kodierungsarten zum Beispiel ASCII Wahrend 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 fur das vorgesehene Anwendungsgebiet geeignetste zu bestimmen Inhaltsverzeichnis 1 UTF 8 UTF 16 und UTF 32 1 1 Beispiele 2 Andere Unicode Kodierungen 2 1 UTF 1 2 2 UTF 7 2 3 UTF EBCDIC 2 4 UTF 5 UTF 6 UTF 9 und UTF 18 2 5 SCSU 2 6 CESU 8 2 7 GB18030 3 Weblinks 4 EinzelnachweiseUTF 8 UTF 16 und UTF 32 BearbeitenUTF 32 kodiert ein Zeichen immer in genau 32 Bit und ist damit am einfachsten da keine variable Zeichenlange benutzt wird und kein intelligenter Algorithmus benotigt wird allerdings auf Kosten der Speichergrosse werden nur Zeichen des ASCII Zeichensatzes verwendet wird mehr als viermal so viel Speicherplatz benotigt wie bei einer Kodierung in ASCII 7 Bit benotigt Je nach Abfolge der Bytes ob zuerst das niederwertigste oder das hochstwertige Byte ubertragen wird spricht man von Little Endian UTF 32LE oder Big Endian UTF 32BE UTF 16 ist das alteste Kodierungsverfahren bei dem ein oder zwei 16 Bit Einheiten 2 oder 4 Bytes zur Kodierung eines Zeichens verwendet werden Auch hier unterscheidet man je nach Abfolge der Bytes zwischen dem haufigeren UTF 16LE und UTF 16BE Fur Sprachen mit nicht lateinischen Zeichen ist dies die platzsparende Variante da sie ublicherweise mit 2 Byte auskommen UTF 8 kodiert Zeichen mit variabler Byte Anzahl 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 hochstwertige Bit stets 0 ist Mithilfe des achten Bits kann ein langeres Unicode Zeichen eingeleitet werden das sich auf 2 3 oder 4 Byte erstreckt Damit wird bei auf dem lateinischen Alphabet basierenden Schriften am effizientesten mit dem Speicherplatz umgegangen Alle Standards konnen mit oder ohne eindeutiger Signatur zu Beginn der Byte Order Mark BOM ubertragen oder gespeichert werden Vor allem bei der Bearbeitung von Dateien mit unterschiedlichen Programmen und auf unterschiedlichen Systemen hilft die BOM bei der richtigen Identifizierung Ist alles vorher eindeutig definiert oder wird die Information anders ubertragen etwa durch die charset Metainformation in einem HTML Dokument so wird die BOM weggelassen Beispiele Bearbeiten Als Beispiel der Ausdruck Veranderung in verschiedenen Sprachen Schriftsatzen und Kodierungen wie in einem Hex Editor Veranderung de 56 00 00 00 65 00 00 00 72 00 00 00 E4 00 00 00 6E 00 00 00 64 00 00 00 UTF 32LE 00 00 00 56 00 00 00 65 00 00 00 72 00 00 00 E4 00 00 00 6E 00 00 00 64 UTF 32BE V e r a n d Verand 65 00 00 00 72 00 00 00 75 00 00 00 6E 00 00 00 67 00 00 00 UTF 32LE 00 00 00 65 00 00 00 72 00 00 00 75 00 00 00 6E 00 00 00 67 UTF 32BE e r u n g erung 56 00 65 00 72 00 E4 00 6E 00 64 00 65 00 72 00 75 00 6E 00 67 00 UTF 16LE 00 56 00 65 00 72 00 E4 00 6E 00 64 00 65 00 72 00 75 00 6E 00 67 UTF 16BE V e r a n d e r u n g Veranderung 56 65 72 C3 A4 6E 64 65 72 75 6E 67 UTF 8 V e r a n d e r u n g Veranderung Promena Mazedonische Sprache mit kyrillischem Alphabet mk 1F 04 00 00 40 04 00 00 3E 04 00 00 3C 04 00 00 UTF 32LE 00 00 04 1F 00 00 04 40 00 00 04 3E 00 00 04 3C UTF 32BE P r o m Prom 35 04 00 00 3D 04 00 00 30 04 00 00 UTF 32LE 00 00 04 35 00 00 04 3D 00 00 04 30 UTF 32BE e n a ena 1F 04 40 04 3E 04 3C 04 35 04 3D 04 30 04 UTF 16LE 04 1F 04 40 04 3E 04 3C 04 35 04 3D 04 30 UTF 16BE P r o m e n a Promena D0 9F D1 80 D0 BE D0 BC D0 B5 D0 BD D0 B0 UTF 8 P r o m e n a Promena Nepali verwendet das alphasyllabische Silbenschriftsystem Devanagari Eine Silbe entspricht einem Zeichen wobei einige wenige Grundzeichen durch hinzufugen von Vokalzeichen modifiziert werden und andere Silben ergeben Ahnlich wie wir ein E mit einem Akut am Computer schreiben nur dass dieser es in E umwandelt ein eigenes Zeichen im Unicode Die nepalesischen Zeichen sind jedoch auch im Unicode zusammengesetzt Der Kreis ist ein Platzhalter fur das Grundzeichen mit dem diese Erweiterung reagiert Es handelt sich somit um zwei Zeichen die ein oder zwei Mal modifiziert wurden Dies im Gegensatz zum Chinesischen wo es viele verschiedene Silbenschriftzeichen gibt Modifizierende Unicode Zeichen gibt es beispielsweise auch in der hebraischen Schrift च ज Nepali ne 1A 09 00 00 3E 09 00 00 02 09 00 00 1C 09 00 00 47 09 00 00 UTF 32LE 00 00 09 1A 00 00 09 3E 00 00 09 02 00 00 09 1C 00 00 09 47 UTF 32BE च ज च ज 1A 09 3E 09 02 09 1C 09 47 09 UTF 16LE 09 1A 09 3E 09 02 09 1C 09 47 UTF 16BE च ज च ज E0 A4 9A E0 A4 BE E0 A4 82 E0 A4 9C E0 A5 87 UTF 8 च ज च ज 变化 Chinesische Sprachen zh D8 53 00 00 16 53 00 00 UTF 32LE 00 00 53 D8 00 00 53 16 UTF 32BE 变 化 变化 D8 53 16 53 UTF 16LE 53 D8 53 16 UTF 16BE 变 化 zh 变化 E5 8F 98 E5 8C 96 UTF 8 变 化 变化Andere Unicode Kodierungen BearbeitenDer Unicode Standard definiert nur UTF 32 UTF 16 und UTF 8 1 Daruber hinaus gibt es noch andere Kodierungen welche ebenfalls alle Unicode Zeichen kodieren konnen Nachfolgend sind einige Beispiele aufgelistet UTF 1 Bearbeiten UTF 1 war die erste 8 Bit Kodierung fur Unicode konnte sich aber aufgrund mehrerer Schwachen nicht durchsetzen UTF 7 Bearbeiten UTF 7 ist ein veraltetes Format welches Unicode Zeichen in druckbare ASCII Zeichen die jeweils nur die unteren 7 Bit eines Bytes benotigen daher der Name des Formats kodiert Das Format war fur die Ubertragung von Unicode Texten uber 7 Bit Kanale gedacht z B E Mail oder Usenet konnte sich allerdings nicht durchsetzen Stattdessen wird fur diesen Anwendungsfall meist UTF 8 kombiniert mit einem MIME Transfer Encoding wie Base 64 oder Quoted printable verwendet oder eben UTF 8 mit einem 8 Bit Kanal Beispiel Das Wort Ubergrosse wird in UTF 7 zu ANw bergr APYA3w e was mit 19 Byte etwas kompakter ist als die 24 Byte die quoted printable UTF 8 benotigt C3 9Cbergr C3 B6 C3 9Fe UTF EBCDIC Bearbeiten UTF EBCDIC ist eine Unicode Kodierung die auf dem proprietaren 8 Bit EBCDIC Format von IBM Grossrechnern aufbaut vergleichbar wie UTF 8 auf ASCII Es kodiert jedoch die ersten 160 Zeichen 65 Steuerzeichen und 95 graphischen Zeichen in jeweils einem Byte an den bei EBCDIC ublichen Positionen soweit existent den restlichen Unicode Vorrat analog zu UTF 8 in jeweils zwei bis funf Bytes bzw bis sieben fur 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 Dasselbe Zeichen wird dabei teilweise je nach Codeposition auch kurzer oder langer als bei UTF 8 codiert 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 EBCDIC basierte Mainframe Betriebssysteme wie z OS benutzen in der Regel UTF 16 Beispielsweise wird UTF 16 von Komponenten wie DB2 COBOL PL I Java und dem IBM XML Toolkit unterstutzt UTF 5 UTF 6 UTF 9 und UTF 18 Bearbeiten UTF 5 und UTF 6 waren Vorschlage zur Benutzung in Internationalen Domainnamen IDN Statt ihrer wurde jedoch Punycode standardisiert UTF 9 und UTF 18 stellten einen Aprilscherz dar sind prinzipiell auf Computern mit 9 bit Bytes aber implementierbar SCSU Bearbeiten Das Standard Compression Scheme for Unicode ist eine Kodierung die vor allem auf einen kleinen Speicherbedarf ausgerichtet ist Es konnen alle Unicode Zeichen dargestellt werden fur die meisten Sprachen reicht dabei ein Byte pro Zeichen aus Im Gegensatz zu anderen Kodierungen lasst sich ein Text auf viele verschiedene Arten kodieren In der Praxis konnte sich SCSU aber nicht durchsetzen CESU 8 Bearbeiten CESU 8 kurz fur Compatibility Encoding Scheme for UTF 16 8 Bit ist eine Variante von UTF 8 Der Codepoint wird zunachst in UTF 16 ausgedruckt dann wird das Ergebnis in UTF 8 rekodiert als ware es UCS 2 GB18030 Bearbeiten Die Zeichenkodierung GB18030 ist ebenfalls als Unicode Transformation Format anzusehen da sie samtliche Unicode Codepoints abbilden kann Sie wurde mit dem Ziel entworfen kompatibel zu den Kodierungen GBK und GB2312 zu sein welche sie ablosen soll Aufgrund dieser Kompatibilitat ist die Kodierung deutlich aufwandiger als UTF 8 da die Kodierung nicht systematisch ist Ublicherweise wird sie daher uber Lookup Tabellen implementiert ASCII Zeichen werden in einem Byte kodiert und entsprechen der normalen ASCII Kodierung Andere Zeichen werden in zwei oder vier Bytes kodiert wobei in diesen Mehrbyte Sequenzen im Gegensatz zu UTF 8 auch der Wertebereich der ASCII Zeichen erneut mit genutzt wird Weblinks BearbeitenUnicode Relationship to ISO IEC 10646 PDF 152 kB unicode org englisch What is the difference between UCS 2 and UTF 16 Unicode org FAQ Definition von UTF EBCDIC unicode orgEinzelnachweise Bearbeiten Chapter 3 9 Unicode Encoding Forms PDF 519 kB unicode org Abgerufen von https de wikipedia org w index php title Unicode Transformation Format amp oldid 232220834