UTF-32
読み:ユーティーエフ-さんじゅうに
外語:UTF-32: Unicode Transformation Format-32

 Unicodeを32ビット(4オクテット)固定長で表現する符号化方法(CES)の一つ。
目次

概要

由来
 Unicode Standard Annex #19(Unicode標準 付則 #19)によって定義されている。
 UTF-32においては、32ビット=4オクテットが1バイトとなる。

目的
 電子計算機で処理するときには、可変長であるUTF-16などよりも固定長である方が扱いやすい。そこで、処理系内部では32ビット長であるUTF-32として処理することが多い。
 一方、ファイル化したり、通信電文として使うには非効率である。UTF-16で2オクテットで表現できない文字は、日常では殆ど使われていない。そのために32ビットも日常的に使うのは効率が悪い。
 このため、ファイル化、通信電文といった用途では、UTF-32はUCS-4と共に、殆ど使われていない。

特徴

仕様
 これは、Unicode標準の一つである。UTF-32でもISO/IEC 10646の全領域を表現することは不可能ではないが、あくまでUnicode用である。
 ISO/IEC 10646のUCS-4との違いはこの点で、UTF-32は32ビット(符号があるため、有効31ビット)あるが、使うのはU+0〜U+10FFFFまでの範囲だけとなる。
 つまり、UTF-32⊆UCS-4、ということが出来る。

BOM
 符号化された文書がUTF-32であるかどうかを識別するためと、エンディアンネスを識別するために、文書の先頭にはBOMと呼ばれる文字0xFEFFが付加される。
 UnicodeでU+FEFFという文字は、ZERO WIDTH NO-BREAK SPACE(幅の無い改行しない空白)という記号である。見えないし改行もされない、存在自体を無視できる文字である。
 それぞれ、先頭の4オクテットは次の通りとなる。

BOMの無い文書
 BOMが定義される以前の文書には、BOMが無いものもある。
 現在それはUTF-32LEUTF-32BEと呼ばれ、名称でエンディアンネスを識別するようになっている。
 なお、BOMがなく、エンディアンネスの指定も無いUTF-32の場合、その文書はビッグエンディアン(いわゆるネットワークバイトオーダー)として処理される。

再検索