| Infos Home | Impressum | Original Artikel & Autoren Liste |
Unicode-Zeichen, deren Kode sich nicht mit 16 Bit darstellen lässt, belegen zwei 16-Bit-Wörter, welche sich aus so genannten "Ersatz"-Zeichen (engl: "surrogate character") wie folgt zusammensetzen:
Bit 31 24|23 16|15 8|7 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0 0 0 0 0 0 0 0|0 0 0 0 x x x x|x x x x x x y y|y y y y y y y y| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+High-Surrogate (U+D800 ... U+DBFF)
|15 8|7 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1 1 0 1 1 0 x x|x x x x x x x x| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Low-Surrogate (U+DC00 ... U+DFFF)
|15 8|7 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1 1 0 1 1 1 y y|y y y y y y y y| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Die beiden Ersatzzeichen werden in der Reihenfolge "High Surrogate" "Low Surrogate" gesendet. Es lassen sich somit Unicode-Zeichen bis zu U+0FFFFF kodieren.
In Abhängigkeit von der Rechnerarchitektur werden die beiden Bytes, aus denen ein 16-bit-Wort besteht, in unterschiedlicher Reihenfolge angeordnet. Um dies zu erkennen, wird empfohlen, das Unicode-Zeichen U+FEFF an den Anfang des Datenstroms zu setzen. Wird dieses als U+FFFE - welches ein ungültiges Unicode-Zeichen ist - empfangen, bedeutet dies, dass die Bytereihenfolge zwischen Sender und Empfänger unterschiedlich ist, und somit die Bytes jedes 16-Bit-Wortes vertauscht werden müssen.
|
Der Ursprungsartikel stammt von der deutschsprachigen Wiki pedia (siehe oben: "Original Artikel & Autoren Liste"). Der Text steht unter der GNU Freie Dokumentation Lizenz. |