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.