„Unicode Transformation Format“ – Versionsunterschied

[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
→‎Beispiele: Mischung Lateinische Zeichen + andere Zeichen aufgehoben um die Aussage (bei anderen UTF-16 kürzer/besser) deutlicher zu zeigen
tk k
Zeile 7:Zeile 7:
== UTF-8, UTF-16 und UTF-32 ==
== UTF-8, UTF-16 und UTF-32 ==
* [[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 viermal so viel Speicherplatz benötigt wie bei einer Kodierung in ASCII. Je nach Abfolge der Bytes, ob zuerst das niederwertigste oder das höchstwertige Byte übertragen wird, spricht man von ''[[Little Endian]]'' (UTF-32LE) oder ''[[Big Endian]]'' (UTF-32BE).
* [[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 viermal so viel Speicherplatz benötigt wie bei einer Kodierung in ASCII. Je nach Abfolge der Bytes, ob zuerst das niederwertigste oder das höchstwertige Byte übertragen wird, spricht man von ''[[Little Endian]]'' (UTF-32LE) oder ''[[Big Endian]]'' (UTF-32BE).
* [[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 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 höchstwertige Bit stets 0 ist. Mithilfe des achten 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. Bei Schriften ohne lateinische Zeichen werden jedoch meist 3 Byte benötigt und damit mehr als bei UTF-16. Einfache schnelle Suchroutinen, die nur byteweise arbeiten (etwa in manchen Dateibetrachtern, besonders für große Dateien), lösen die verstreuten Multibyte-Zeichen (wie Umlaute) nicht auf und verhindern solche Zeichenketten zu finden, obwohl es korrekt angezeigt wird - im Gegensatz zum UTF-16-Modus, der standardmäßig Doppelbytes verarbeitet.
* [[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 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 höchstwertige Bit stets 0 ist. Mithilfe des achten 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. Bei Schriften ohne lateinische Zeichen werden jedoch meist 3 Byte benötigt und damit mehr als bei UTF-16. Einfache schnelle Suchroutinen, die nur byteweise arbeiten (etwa in manchen Dateibetrachtern, besonders für große Dateien), lösen die verstreuten Multibyte-Zeichen (wie Umlaute) nicht auf und verhindern solche Zeichenketten zu finden, obwohl es korrekt angezeigt wird - im Gegensatz zum UTF-16-Modus, der standardmäßig Doppelbytes verarbeitet.


Alle Standards können mit oder ohne eindeutiger Signatur zu Beginn übertragen oder gespeichert werden, der ''[[Byte Order Mark]]'' (BOM). 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 „charset“ bei HTML), so wird sie weggelassen.
Alle Standards können mit oder ohne eindeutiger Signatur zu Beginn übertragen oder gespeichert werden, der ''[[Byte Order Mark]]'' (BOM). 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 „charset“ bei HTML), so wird sie weggelassen.
Zeile 17:Zeile 15:


Als Beispiel der Begriff „[[Veränderung]]“<!-- Etwas mit Umlaut, was es auch in Kyrillisch und Chinesisch gibt. --> in verschiedenen Sprachen / Schriftsätzen und Kodierungen, wie in einem [[Hex-Editor]]. Vorangestellt der ISO-Sprachcode und ein Doppelpunkt, wie es auch bei den [[Interwiki]]links in den Artikeln hier verwendet wird.
Als Beispiel der Begriff „[[Veränderung]]“<!-- Etwas mit Umlaut, was es auch in Kyrillisch und Chinesisch gibt. --> in verschiedenen Sprachen / Schriftsätzen und Kodierungen, wie in einem [[Hex-Editor]]. Vorangestellt der ISO-Sprachcode und ein Doppelpunkt, wie es auch bei den [[Interwiki]]links in den Artikeln hier verwendet wird.

[[Veränderung]] (de)
[[Veränderung]] (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 ↵
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 ↵
Zeile 74:Zeile 73:


== Andere Unicode-Kodierungen ==
== Andere Unicode-Kodierungen ==
Der Unicode-Standard definiert nur UTF-32, UTF-16 und UTF-8.<ref>[http://www.unicode.org/versions/Unicode6.1.0/ch03.pdf#G7404 Chapter 3.9 Unicode Encoding Forms] unicode.org</ref> Darüber hinaus gibt es noch andere Kodierungen welche ebenfalls alle Unicode-Zeichen kodieren können. Nachfolgend sind einige Beispiele aufgelistet.
Der Unicode-Standard definiert nur UTF-32, UTF-16 und UTF-8.<ref>[http://www.unicode.org/versions/Unicode6.1.0/ch03.pdf#G7404 Chapter 3.9 ''Unicode Encoding Forms''.] (PDF) unicode.org</ref> Darüber hinaus gibt es noch andere Kodierungen welche ebenfalls alle Unicode-Zeichen kodieren können. Nachfolgend sind einige Beispiele aufgelistet.


=== UTF-1 ===
=== UTF-1 ===
Zeile 80:Zeile 79:


=== UTF-7 ===
=== UTF-7 ===
[[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.&nbsp;B. [[E-Mail]] oder [[Usenet]]), konnte sich allerdings nicht durchsetzen. Stattdessen wird für 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.<!--?-->
[[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.&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 [[Base 64]] oder [[Quoted-printable]] verwendet, oder eben UTF-8 mit einem 8-Bit-Kanal.<!--?-->


=== UTF-EBCDIC ===
=== UTF-EBCDIC ===
UTF-EBCDIC ist eine Unicode-Kodierung, die auf dem proprietären 8-Bit [[EBCDIC]]-Format von [[IBM]]-[[Großrechner]]n aufbaut, vergleichbar wie UTF-8 auf ASCII.
UTF-EBCDIC ist eine Unicode-Kodierung, die auf dem proprietären 8-Bit [[EBCDIC]]-Format von [[IBM]]-[[Großrechner]]n 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 ü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) <code>DD 73 66 73</code> (einer vier-Byte-Sequenz). Dasselbe Zeichen wird dabei teilweise, je nach Codeposition, auch kürzer oder länger als bei UTF-8 codiert.
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) <code style="white-space:nowrap">DD 73 66 73</code> (einer vier-Byte-Sequenz). Dasselbe Zeichen wird dabei teilweise, je nach Codeposition, auch kürzer oder länger 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.
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.

Version vom 9. Oktober 2016, 11:43 Uhr

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 ihres Platzbedarfs 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.

UTF-8, UTF-16 und UTF-32

  • 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 viermal so viel Speicherplatz benötigt wie bei einer Kodierung in ASCII. Je nach Abfolge der Bytes, ob zuerst das niederwertigste oder das höchstwertige Byte übertragen wird, spricht man von Little Endian (UTF-32LE) oder Big Endian (UTF-32BE).
  • 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 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 höchstwertige Bit stets 0 ist. Mithilfe des achten 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. Bei Schriften ohne lateinische Zeichen werden jedoch meist 3 Byte benötigt und damit mehr als bei UTF-16. Einfache schnelle Suchroutinen, die nur byteweise arbeiten (etwa in manchen Dateibetrachtern, besonders für große Dateien), lösen die verstreuten Multibyte-Zeichen (wie Umlaute) nicht auf und verhindern solche Zeichenketten zu finden, obwohl es korrekt angezeigt wird - im Gegensatz zum UTF-16-Modus, der standardmäßig Doppelbytes verarbeitet.

Alle Standards können mit oder ohne eindeutiger Signatur zu Beginn übertragen oder gespeichert werden, der Byte Order Mark (BOM). 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 „charset“ bei HTML), so wird sie weggelassen.

Beispiele

Als Beispiel der Begriff „Veränderung“ in verschiedenen Sprachen / Schriftsätzen und Kodierungen, wie in einem Hex-Editor. Vorangestellt der ISO-Sprachcode und ein Doppelpunkt, wie es auch bei den Interwikilinks in den Artikeln hier verwendet wird.

Veränderung (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          |ä          |n          |d              | Veränd  ↵
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    |ä    |n    |d    |e    |r    |u    |n    |g              |  Veränderung
56|65|72|C3 A4|6E|64|65|72|75|6E|67                                        | UTF-8
V |e |r |ä    |n |d |e |r |u |n |g                                         | Veränderung
Промена - 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 ↵
П          |р          |о          |м           | Пром    ↵
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
е          |н          |а                       | ена
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
П    |р    |о    |м    |е    |н    |а           |  Промена
D0 9F|D1 80|D0 BE|D0 BC|D0 B5|D0 BD|D0 B0       | UTF-8
П    |р    |о    |м    |е    |н    |а           | Промена

Nepali verwendet das alphasyllabische Silbenschriftsystem Devanagari. 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.

चांजे - 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

Der Unicode-Standard definiert nur UTF-32, UTF-16 und UTF-8.[1] Darüber hinaus gibt es noch andere Kodierungen welche ebenfalls alle Unicode-Zeichen kodieren können. Nachfolgend sind einige Beispiele aufgelistet.

UTF-1

UTF-1 war die erste 8-Bit-Kodierung für Unicode, konnte sich aber aufgrund mehrerer Schwächen nicht durchsetzen.

UTF-7

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. Stattdessen wird für 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.

UTF-EBCDIC

UTF-EBCDIC ist eine Unicode-Kodierung, die auf dem proprietären 8-Bit EBCDIC-Format von IBM-Großrechnern 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 ü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). Dasselbe Zeichen wird dabei teilweise, je nach Codeposition, auch kürzer oder länger 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 unterstützt.

UTF-5, UTF-6, UTF-9 und UTF-18

UTF-5 und UTF-6 waren Vorschläge 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

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.

CESU-8

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.

Einzelnachweise

  1. Chapter 3.9 Unicode Encoding Forms. (PDF) unicode.org