UTF-32

読み:ユーティーエフ・さんじゅうに
外語:UTF-32: Unicode Transformation Format-32
品詞:名詞,+規格

Unicodeを32ビット固定長で表現するエンコード。

Unicode Standard Annex #19外部リンク(Unicode標準 付則 #19)によって定義されている。

UTF-32においては、32ビットが1バイトとなる。

コンピュータ内部で処理するときには、可変長であるよりも固定長である方が扱いが楽である。

そこで、処理系内部では32ビット長であるUTF-32として処理することが多い。

これは、Unicode標準の一つである。UTF-32でもISO/IEC 10646の全領域を表現することは不可能ではないが、あくまでUnicode用である。

ISO/IEC 10646のUCS-4との違いはこの点で、UTF-32は32ビットあるが、使うのはU+0〜U+10FFFFまでの範囲だけとなる。

BOM

符号化された文書がUTF-32であるかどうかを識別するためと、エンディアンネスを識別するために、文書の先頭にはBOMと呼ばれるバイト0xFEFFが付加される。

UnicodeでU+FEFFという文字は、ZERO WIDTH NO-BREAK SPACE(幅の無い改行しない空白)という記号である。見えないし改行もされない、存在自体を無視できる文字である。

リトルエンディアンの場合、先頭の4オクテットが0xFF、0xFE、0x00、0x00となり、ビッグエンディアンなら0x00、0x00、0xFE、0xFFとなる。

BOMの無い文書

BOMが定義される以前の文書には、BOMが無いものもある。

現在それはUTF-32LEUTF-32BEと呼ばれ、名称でエンディアンネスを識別するようになっている。