UTF-32
最初のISO/IEC 10646規格は、UCS-4と呼ばれる31ビットの符号化文字集合を定義していた。この形式では、UCSに含まれるおのおのの符号化された文字は、32ビットで扱いやすい0–7FFFFFFFの符号位置で表現される。
最上位ビットが1になる値を避け、32ビットではなく31ビットとしたのは、これをコンピュータの内部表現として使用した場合に、最上位ビットが1のコードをエスケープなどの目的に使い、ISO/IEC 2022などの Unicode や ISO 10646 と異なるコード体系のための内部表現と共用するといった便宜のためである。参考として、4バイトコードで最上位ビットが1のコードを使うものにGB 18030がある。
UCS-4 は、 1114112個 (= 2+2) の符号位置を持ち、そのため十六進で10FFFFまでしか必要としないUnicode符号空間のすべてを表現するのに、UCS-4は十分である。比較的小さな符号位置の集合へのマッピングのためにそのように大きな符号空間を予約するのは浪費だと考える者がいるので、新しい符号化形式 UTF-32 が提案された。UTF-32 は UCS-4 の部分集合で、32ビットの符号値を0から10FFFFの符号空間の範囲でのみ使用する。
UTF-32は、最初はUCS-4規格の部分集合だったが、ISO/IEC JTC 1/SC 2/WG 2の方針と手続きの文書は、すべての将来の文字割り当ては、BMPか最初の14の追加面に制限され、さらに私用面のうち第0群の第224–255面 (E00000–FFFFFF) と第96–127群の面 (60000000–7FFFFFFF) は削除されたと述べている。