Harlequin: BOM \X\0\X\0 - Frage zu Zeichensätzen

Beitrag lesen

Yerf!

Nach jedem zweiten Zeichen tritt das ASCII-Zeichen 0 (String-Ende) auf.

Kann mir jemand erklären, was es damit auf sich hat?

Das ist UTF-16, eine 16-bit Kodierung für Unicode. Dabei wird jedes Zeichen mittels 2 Bytes dargestellt. Bei den Zeichen die auch in ASCII vorkommen ist dabei das höherwertige Byte immer 0 (Bei Sonderzeichen kann da dann schon mal etwas anderes stehen). Deshalb gibt es auch die UTF-8 Kodierung, die solche Zeichen nur mit einem Byte darstellt, aber trotzdem alle Unicode-Zeichen darstellen kann (etwas das UTF16 glaub ich nicht kann, da es inzwischen über 65536 Zeichen in Unicode gibt).

Weitere Erläuterungen kannst du z.B. in Wikipedia finden.

Gruß,

Harlequin