0 Daumen
703 Aufrufe

Frage:

Wie kann man Unicode Codepoints in UTF-32 und UTF-8 umcodieren?

Code:

Avatar von

1 Antwort

+1 Daumen

Um Unicode-Codepoints in UTF-32 und UTF-8 zu kodieren, gibt es bestimmte Regeln, die befolgt werden müssen.

UTF-32:
UTF-32 ist eine feste Breite-Kodierung, bei der jeder Codepoint genau 4 Bytes (32 Bits) belegt. Die Codepoints werden direkt als 32-Bit-Werte dargestellt. Zum Beispiel wird der Codepoint U+0041 (das Zeichen 'A') in UTF-32 als 00000041 kodiert.

UTF-8:
UTF-8 ist eine variable Breite-Kodierung, bei der die Anzahl der Bytes pro Codepoint variieren kann. Die Kodierung von Codepoints in UTF-8 erfolgt gemäß den folgenden Regeln:

Für Codepoints im Bereich U+0000 bis U+007F (7 Bit) wird ein einzelnes Byte verwendet. Der Codepoint wird direkt als 8-Bit-Wert dargestellt. Zum Beispiel wird U+0041 ('A') in UTF-8 als 41 kodiert.

Für Codepoints im Bereich U+0080 bis U+07FF (11 Bit) werden zwei Bytes verwendet. Der Codepoint wird in zwei Schritten kodiert:

Der erste Byte beginnt mit '110' gefolgt von den 5 höchsten Bits des Codepoints.
Das zweite Byte beginnt mit '10' gefolgt von den nächsten 6 Bits des Codepoints.
Zum Beispiel wird U+00A9 ('©') in UTF-8 als C2 A9 kodiert.
Für Codepoints im Bereich U+0800 bis U+FFFF (16 Bit) werden drei Bytes verwendet. Der Codepoint wird in drei Schritten kodiert:

Das erste Byte beginnt mit '1110' gefolgt von den 4 höchsten Bits des Codepoints.
Die nächsten beiden Bytes beginnen jeweils mit '10' gefolgt von 6 Bits des Codepoints.
Zum Beispiel wird U+201C ('“') in UTF-8 als E2 80 9C kodiert.
Es gibt weitere Regeln für größere Codepoints, aber diese Grundlagen sollten Ihnen einen guten Ausgangspunkt bieten, um Unicode-Codepoints in UTF-32 und UTF-8 zu kodieren. Beachten Sie jedoch, dass dies nur ein Überblick ist und weitere Details zur Behandlung von Sonderfällen erforderlich sein können.

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community