UTF-32 ist eine Methode zurKodierung vonUnicode-Zeichen, bei der jedes Zeichen mit vierByte (32 Bit) kodiert wird. Sie kann deshalb als die einfachste Kodierung bezeichnet werden, da alle anderenUTF-Kodierungen variable Bytelängen benutzen. Im Unicode Standard ist UTF-32 eine Untermenge vonUCS-4.
Wie auch beiUTF-16 gibt es auch bei UTF-32 zwei Möglichkeiten, die Daten in einem byte-orientierten Datenstrom zu übertragen:Big Endian undLittle Endian. Hierfür wurden die BezeichnungenUTF-32BE undUTF-32LE definiert. UTF-32 wird jedoch – im Gegensatz zu UTF-16 – kaum in Speicher-, Datei- oder Datenaustauschformaten verwendet; und bei rein programm-interner Verwendung werden die Daten normalerweise stets in der Byte-Reihenfolge verarbeitet, wie sie von der CPU-Architektur vorgegeben sind.
UTF-32 zeigt seine Vorteile bei einigen Sprachen beimwahlfreien Zugriff auf einen bestimmten Zahlenwert eines Zeichens im Coderaum (Codepoint), da dessen Adresse durch dieZeigerarithmetik konstanter Zeit berechnet werden kann. Es ist auch möglich, anhand der Größe eines Dokuments in Bytes umgehend die Anzahl der enthaltenen Codepoints auszurechnen (nämlich durch eine simple Division durch 4).
Ein Nachteil von UTF-32 ist der hohe Speicherbedarf. Bei Texten, die überwiegend aus lateinischen Buchstaben bestehen, wird – verglichen mit dem verbreitetenUTF-8- oder denISO-8859-Zeichensätzen – etwa der vierfache Speicherplatz belegt. Deshalb wird es auch kaum zum externen Speichern verwendet. Ein weiterer Nachteil ist die fehlende Abwärtskompatibilität zuASCII, wie sie z. B. mit UTF-8 gegeben ist.
Streng genommen kodieren sämtliche UTF-Kodierungen keineZeichen, sondern sogenannte UnicodeCodepoints. Es existieren in Unicode zusammengesetzte Zeichen, die mehr als einen Codepoint benötigen (z. B. Zeichen mit ungewöhnlichen oder mehrfachen Akzenten, wie sie imVietnamesischen vorkommen). Sollen derartige Zeichen korrekt verarbeitet werden, ist auch in einer UTF-32-kodierten Zeichenkette kein wahlfreier Zugriff auf einzelneZeichen möglich.