<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Unicode_Transformation_Format</id>
	<title>Unicode Transformation Format - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Unicode_Transformation_Format"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Unicode_Transformation_Format&amp;action=history"/>
	<updated>2026-05-22T08:12:13Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Unicode_Transformation_Format&amp;diff=204346&amp;oldid=prev</id>
		<title>imported&gt;Darkking3: +iw in &quot;normalform&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Unicode_Transformation_Format&amp;diff=204346&amp;oldid=prev"/>
		<updated>2025-05-28T11:28:24Z</updated>

		<summary type="html">&lt;p&gt;+iw in &amp;quot;normalform&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Dieser Artikel|1=beschreibt das Unicode-Format UTF; zum Ungeschützten Transportfahrzeug (UTF) siehe [[Liste von Radfahrzeugen der Bundeswehr#UTF]].}}&lt;br /&gt;
Ein &amp;#039;&amp;#039;&amp;#039;Unicode Transformation Format&amp;#039;&amp;#039;&amp;#039;, auch &amp;#039;&amp;#039;[[Universal Coded Character Set|UCS]] Transformation Format&amp;#039;&amp;#039;, abgekürzt &amp;#039;&amp;#039;&amp;#039;UTF&amp;#039;&amp;#039;&amp;#039;, ist eine Methode, [[Unicode]]-Zeichen auf Folgen von [[Byte]]s abzubilden.&lt;br /&gt;
&lt;br /&gt;
Für die Repräsentation der Unicode-Zeichen zum Zweck der elektronischen Datenverarbeitung gibt es verschiedene Transformationsformate. In jedem der Formate lassen sich alle im Unicode-Standard enthaltenen Zeichen ([[Codepoint]]s) darstellen. Auch lässt sich jedes dieser Formate verlustfrei in eine andere UTF-Variante konvertieren.&lt;br /&gt;
&lt;br /&gt;
Die verschiedenen Formate unterscheiden sich hinsichtlich ihres Platzbedarfs auf Speichermedien ([[Effizienz (Informatik)|Speichereffizienz]]), dem Kodierungs- und Dekodierungsaufwand ([[Laufzeit (Informatik)|Laufzeitverhalten]]) sowie in ihrer Kompatibilität zu anderen (älteren) Kodierungsarten, zum Beispiel [[American Standard Code for Information Interchange|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.&lt;br /&gt;
&lt;br /&gt;
== UTF-8, UTF-16 und UTF-32 ==&lt;br /&gt;
* [[UTF-32]] kodiert ein Zeichen immer in genau 32 Bit und ist damit am einfachsten, da keine variable Zeichenlänge benutzt wird und kein intelligenter Algorithmus benötigt wird, allerdings auf Kosten der Speichergröße – werden nur Zeichen des ASCII-Zeichensatzes verwendet, wird mehr als viermal so viel Speicherplatz benötigt wie bei einer Kodierung in ASCII (7 Bit benötigt). Je nach Abfolge der Bytes, ob zuerst das niederwertigste oder das höchstwertige Byte übertragen wird, spricht man von &amp;#039;&amp;#039;[[Little Endian]]&amp;#039;&amp;#039; (UTF-32LE) oder &amp;#039;&amp;#039;[[Big Endian]]&amp;#039;&amp;#039; (UTF-32BE).&lt;br /&gt;
* [[UTF-16]] ist das älteste 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 häufigeren UTF-16LE und UTF-16BE. Für Sprachen mit nicht-lateinischen Zeichen ist dies die platzsparende Variante, da sie üblicherweise mit 2&amp;amp;nbsp;Byte auskommen.&lt;br /&gt;
* [[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 höchstwertige Bit stets 0 ist. Mithilfe des achten Bits kann ein längeres 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.&lt;br /&gt;
&lt;br /&gt;
Alle Standards können mit oder ohne eindeutiger Signatur zu Beginn, der &amp;#039;&amp;#039;[[Byte Order Mark]]&amp;#039;&amp;#039; (BOM), übertragen 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 übertragen (etwa durch die „charset“-Metainformation in einem [[Hypertext Markup Language|HTML]]-Dokument), so wird die BOM weggelassen.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
&lt;br /&gt;
Als Beispiel der Ausdruck „Veränderung“&amp;lt;!-- Etwas mit Umlaut, was es auch in Kyrillisch und Chinesisch gibt. --&amp;gt; in verschiedenen Sprachen/Schriftsätzen und Kodierungen, wie in einem [[Hex-Editor]].&lt;br /&gt;
&lt;br /&gt;
 Veränderung (de)&lt;br /&gt;
 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 ↵&lt;br /&gt;
 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 ↵&lt;br /&gt;
 V          |e          |r          |ä          |n          |d              | Veränd  ↵&lt;br /&gt;
 65 00 00 00|72 00 00 00|75 00 00 00|6E 00 00 00|67 00 00 00                | UTF-32LE&lt;br /&gt;
 00 00 00 65|00 00 00 72|00 00 00 75|00 00 00 6E|00 00 00 67                | UTF-32BE&lt;br /&gt;
 e          |r          |u          |n          |g                          | erung&lt;br /&gt;
&lt;br /&gt;
 56 00|65 00|72 00|E4 00|6E 00|64 00|65 00|72 00|75 00|6E 00|67 00          | UTF-16LE&lt;br /&gt;
 00 56|00 65|00 72|00 E4|00 6E|00 64|00 65|00 72|00 75|00 6E|00 67          | UTF-16BE&lt;br /&gt;
 V    |e    |r    |ä    |n    |d    |e    |r    |u    |n    |g              | Veränderung&lt;br /&gt;
&lt;br /&gt;
 56|65|72|C3 A4|6E|64|65|72|75|6E|67                                        | UTF-8&lt;br /&gt;
 V |e |r |ä    |n |d |e |r |u |n |g                                         | Veränderung&lt;br /&gt;
&lt;br /&gt;
 Промена – [[Mazedonische Sprache]] mit [[Kyrillisches Alphabet|kyrillischem Alphabet]] (mk)&lt;br /&gt;
 1F 04 00 00|40 04 00 00|3E 04 00 00|3C 04 00 00 | UTF-32LE ↵&lt;br /&gt;
 00 00 04 1F|00 00 04 40|00 00 04 3E|00 00 04 3C | UTF-32BE ↵&lt;br /&gt;
 П          |р          |о          |м           | Пром    ↵&lt;br /&gt;
 35 04 00 00|3D 04 00 00|30 04 00 00             | UTF-32LE&lt;br /&gt;
 00 00 04 35|00 00 04 3D|00 00 04 30             | UTF-32BE&lt;br /&gt;
 е          |н          |а                       | ена&lt;br /&gt;
&lt;br /&gt;
 1F 04|40 04|3E 04|3C 04|35 04|3D 04|30 04       | UTF-16LE&lt;br /&gt;
 04 1F|04 40|04 3E|04 3C|04 35|04 3D|04 30       | UTF-16BE&lt;br /&gt;
 П    |р    |о    |м    |е    |н    |а           | Промена&lt;br /&gt;
&lt;br /&gt;
 D0 9F|D1 80|D0 BE|D0 BC|D0 B5|D0 BD|D0 B0       | UTF-8&lt;br /&gt;
 П    |р    |о    |м    |е    |н    |а           | Промена&lt;br /&gt;
&lt;br /&gt;
Nepali wird in [[Devanagari]] geschrieben, einer [[Abugida]]. Eine Silbe entspricht einem Zeichen, wobei einige wenige Grundzeichen durch hinzufügen von Vokalzeichen modifiziert werden und andere Silben ergeben. (Ähnlich wie wir ein E mit einem Akut am Computer schreiben, nur dass dieser es in [[É]] umwandelt, ein eigenes Zeichen im Unicode. Die nepalesischen Zeichen sind jedoch auch im Unicode zusammengesetzt. Der Kreis ist ein Platzhalter für 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 hebräischen Schrift.&lt;br /&gt;
&lt;br /&gt;
 चांजे – [[Nepali]] (ne)&lt;br /&gt;
 1A 09 00 00|3E 09 00 00|02 09 00 00|1C 09 00 00|47 09 00 00  | UTF-32LE&lt;br /&gt;
 00 00 09 1A|00 00 09 3E|00 00 09 02|00 00 09 1C|00 00 09 47  | UTF-32BE&lt;br /&gt;
 च           ा           ं         |ज           े            | चांजे&lt;br /&gt;
&lt;br /&gt;
 1A 09|3E 09|02 09|1C 09|47 09                                | UTF-16LE&lt;br /&gt;
 09 1A|09 3E|09 02|09 1C|09 47                                | UTF-16BE&lt;br /&gt;
 च     ा    ं    |ज     े                                    | चांजे&lt;br /&gt;
&lt;br /&gt;
 E0 A4 9A|E0 A4 BE|E0 A4 82|E0 A4 9C|E0 A5 87                 | UTF-8&lt;br /&gt;
 च        ा       ं       |ज        े                        | चांजे&lt;br /&gt;
&lt;br /&gt;
 变化 – [[Chinesische Sprachen]] (zh)&lt;br /&gt;
 D8 53 00 00|16 53 00 00  | UTF-32LE&lt;br /&gt;
 00 00 53 D8|00 00 53 16  | UTF-32BE&lt;br /&gt;
 变         |化           | 变化&lt;br /&gt;
&lt;br /&gt;
 D8 53|16 53              | UTF-16LE&lt;br /&gt;
 53 D8|53 16              | UTF-16BE&lt;br /&gt;
 变   |化                 | zh:变化&lt;br /&gt;
&lt;br /&gt;
 E5 8F 98|E5 8C 96        | UTF-8&lt;br /&gt;
 变      |化              | 变化&lt;br /&gt;
&lt;br /&gt;
== Andere Unicode-Kodierungen ==&lt;br /&gt;
Der Unicode-Standard definiert nur UTF-32, UTF-16 und UTF-8.&amp;lt;ref&amp;gt;[http://www.unicode.org/versions/Unicode6.1.0/ch03.pdf#G7404 Chapter 3.9 &amp;#039;&amp;#039;Unicode Encoding Forms.&amp;#039;&amp;#039;] (PDF; 519&amp;amp;nbsp;kB) unicode.org&amp;lt;/ref&amp;gt; Darüber hinaus gibt es noch andere Kodierungen, welche ebenfalls alle Unicode-Zeichen kodieren können. Nachfolgend sind einige Beispiele aufgelistet.&lt;br /&gt;
&lt;br /&gt;
=== UTF-1 ===&lt;br /&gt;
[[UTF-1]] war die erste 8-Bit-Kodierung für Unicode, konnte sich aber aufgrund mehrerer Schwächen nicht durchsetzen.&lt;br /&gt;
&lt;br /&gt;
=== UTF-7 ===&lt;br /&gt;
[[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.&amp;amp;nbsp;B. [[E-Mail]] oder [[Usenet]]), konnte sich allerdings nicht durchsetzen. Stattdessen wird für diesen Anwendungsfall meist UTF-8 kombiniert mit einem [[Multipurpose Internet Mail Extensions|MIME]]-Transfer-Encoding wie [[Base64]] oder [[Quoted-printable]] verwendet, oder eben UTF-8 mit einem 8-Bit-Kanal.&lt;br /&gt;
&lt;br /&gt;
Beispiel: Das Wort &amp;#039;&amp;#039;Übergröße&amp;#039;&amp;#039; wird in UTF-7 zu &amp;lt;code style=&amp;quot;white-space:nowrap&amp;quot;&amp;gt;+ANw-bergr+APYA3w-e&amp;lt;/code&amp;gt;, was mit 19&amp;amp;nbsp;Byte etwas kompakter ist, als die 24&amp;amp;nbsp;Byte, die quoted-printable UTF-8 benötigt: &amp;lt;code style=&amp;quot;white-space:nowrap&amp;quot;&amp;gt;=C3=9Cbergr=C3=B6=C3=9Fe&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== UTF-EBCDIC ===&lt;br /&gt;
UTF-EBCDIC ist eine Unicode-Kodierung, die auf dem proprietären 8-Bit [[Extended Binary Coded Decimal Interchange Code|EBCDIC]]-Format von [[IBM]]-[[Großrechner]]n aufbaut, vergleichbar wie UTF-8 auf ASCII.&lt;br /&gt;
&lt;br /&gt;
Es kodiert jedoch die ersten 160 Zeichen (65 [[Steuerzeichen]] und 95 graphischen Zeichen) 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 [[Byte Order Mark|BOM]] etwa wird zu (hexadezimal) &amp;lt;code style=&amp;quot;white-space:nowrap&amp;quot;&amp;gt;DD 73 66 73&amp;lt;/code&amp;gt; (einer vier-Byte-Sequenz). Dasselbe Zeichen wird dabei teilweise, je nach Codeposition, auch kürzer oder länger als bei UTF-8 codiert.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== UTF-5, UTF-6, UTF-9 und UTF-18 ===&lt;br /&gt;
UTF-5 und UTF-6 waren Vorschläge zur Benutzung in Internationalen Domainnamen ([[Internationalisierter Domainname|IDN]]).&amp;lt;ref&amp;gt;{{Literatur |Autor=Martin J. Dürst, James Seng, Tim Tan |Titel=UTF-5, a transformation format of Unicode and ISO 10646 |Nummer=draft-jseng-utf5-02 |Verlag=Internet Engineering Task Force |Datum=2000-01-28 |Online=https://datatracker.ietf.org/doc/html/draft-jseng-utf5-00 |Abruf=2025-04-23}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Literatur |Autor=Mark Welter, Brian Spolarich |Titel=UTF-6 – Yet Another ASCII-Compatible Encoding for IDN |Nummer=draft-ietf-idn-utf6-00 |Verlag=Internet Engineering Task Force |Datum=2000-11-21 |Online=https://datatracker.ietf.org/doc/html/draft-ietf-idn-utf6-00 |Abruf=2025-04-23}}&amp;lt;/ref&amp;gt; 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.&amp;lt;ref&amp;gt;{{RFC-Internet |RFC=4042 |Titel=UTF-9 and UTF-18 Efficient Transformation Formats of Unicode |Datum=2005-04-01}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SCSU ===&lt;br /&gt;
Das [[Standard Compression Scheme for Unicode]] ist eine Kodierung, die vor allem auf einen kleinen Speicherbedarf ausgerichtet ist. Es können alle Unicode-Zeichen dargestellt werden, für die meisten Sprachen reicht dabei ein Byte pro Zeichen aus. Im Gegensatz zu anderen Kodierungen lässt sich ein Text auf viele verschiedene Arten kodieren. In der Praxis konnte sich SCSU aber nicht durchsetzen.&lt;br /&gt;
&lt;br /&gt;
=== CESU-8 ===&lt;br /&gt;
[[CESU-8]] (kurz für Compatibility Encoding Scheme for UTF-16: 8-Bit) ist eine Variante von UTF-8. Der Codepoint wird zunächst in UTF-16 ausgedrückt, dann wird das Ergebnis in UTF-8 rekodiert, als wäre es [[UCS-2]].&lt;br /&gt;
&lt;br /&gt;
=== GB18030 ===&lt;br /&gt;
Die Zeichenkodierung [[GB18030]] ist ebenfalls als Unicode Transformation Format anzusehen, da sie sämtliche Unicode-Codepoints abbilden kann. Sie wurde mit dem Ziel entworfen, kompatibel zu den Kodierungen [[GBK (Zeichensatz)|GBK]] und [[GB2312]] zu sein, welche sie ablösen soll.&lt;br /&gt;
&lt;br /&gt;
Aufgrund dieser Kompatibilität ist die Kodierung deutlich aufwändiger als UTF-8, da die Kodierung nicht systematisch ist. Üblicherweise wird sie daher über [[Lookup-Tabelle]]n implementiert. [[American Standard Code for Information Interchange|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 –&amp;amp;nbsp;im Gegensatz zu UTF-8&amp;amp;nbsp;– auch der Wertebereich der ASCII-Zeichen erneut mit genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.unicode.org/versions/Unicode4.0.0/appC.pdf &amp;#039;&amp;#039;Unicode Relationship to ISO/IEC 10646.&amp;#039;&amp;#039;] (PDF; 152 kB) unicode.org (englisch)&lt;br /&gt;
* [http://www.unicode.org/faq/basic_q.html#25 &amp;#039;&amp;#039;What is the difference between UCS-2 and UTF-16?&amp;#039;&amp;#039;] Unicode.org FAQ&lt;br /&gt;
* [http://www.unicode.org/reports/tr16/ Definition von UTF-EBCDIC] unicode.org&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Unicode]]&lt;br /&gt;
[[Kategorie:Zeichenkodierung]]&lt;br /&gt;
&lt;br /&gt;
[[en:Unicode Transformation Format]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Darkking3</name></author>
	</entry>
</feed>