UTF-32
概要
UTF-32とは、Unicodeで定義された文字集合を表現することができる文字コード(符号化方式)の一つで、一文字あたり4バイト(32ビット)の固定長でコードを表現する方式。単純にU+0000からU+10FFFFまでの各文字のコードポイントをそのまま文字符号としたもの。最も単純な表現形式で、文字よって長さが異なることがないためソフトウェアで処理しやすい。しかし、どんな文字でも4バイトで表現するためデータ量が多く、特にASCIIなら1バイトで収まる半角英数字・記号が多い場合には不利となる。
UTF-16同様、文字コードの指定などでバイト順を伝達できない場合はデータの先頭に4バイトのBOM(バイトオーダーマーク)を記す。BOMが「FF FE 00 00」ならリトルエンディアン、「00 00 FE FF」ならビッグエンディアンである。
UTF-32は主にデータ量の多さが敬遠され、データの保存・交換用としてはほとんど用いられることはないが、ソフトウェアが文字データの処理のために用いる内部表現として利用されることがある。外部との入出力がUTF-8など他の形式でも、内部的にはUTF-32に変換して扱っている場合もある。
なお、Unicodeの文字集合である「UCS-2」を拡張した文字集合として31ビットの「UCS-4」を策定する構想があり、UTF-32はその符号化方式として有力だった。UCS-4はコードポイントを先頭が0に固定された32ビット(4バイト)の値で表すもので、UCS-2を丸々取り込んで更に多くの文字を収録する予定だったが、UCS-2を超える範囲への拡張は断念され、UTF-32の存在意義も低下した。
(2025.2.27更新)