Unicode

UTF-32

Bei der Unicode Kodierung UTF-32 wird jedes einzelne Zeichen mit vier Byte (32 Bit) kodiert werden. Das Resultat ist ein größerer Speicherbedarf allen anderen Kodierungen gegenüber, da alle anderen Kodierungen variable Bytelängen benutzen. Daraus erwächst aber auch der Vorteil, dass UTF-32 kodierte Dateien oder Streams leichter zu bearbeiten sind, da jedes Byte genau seinen Platz hat und es zu keinen variablen Längen kommt.

Ein Vorteil dieser Kodierung besteht darin, dass sehr einfach auf ein bestimmtes Zeichen im Speicher zugegriffen werden kann und die Länge eines Textes auch entsprechend schnell ermittelbar ist, in dem die Anzahl an Bytes einfach durch vier geteilt wird.

Ein entscheidender Nachteil ist der größere Speicherbedarf. Im Vergleich zu Texten mit lateinischen Buchstaben, die im Format UTF-7, UTF-8 oder ANSI abgespeichert sind, ergibt sich ein vierfach höherer Speicherbedarf. Selbst bei Texten die andere Zeichen wie kyrillische oder griechische Buchstaben enthalten ergibt sich ein viel größerer Speicherbedarf, da die wenigsten Zeichen 4 Bytes benötigen und auch mit weniger Bytes kodiert werden können.

UTF-32 kann sowohl als Big Endian als auch als Little Endian abgespeichert werden. Die Byte Order Mark bei einer Speicherung als Big Endian ist 00 00 FE FF, als Little Endian entsprechend FF FE 00 00. Siehe dazu Endianness und Byte Order Mark.