UTF-32
読み:ユーティーエフ-さんじゅうに
外語:UTF-32: Unicode Transformation Format-32
Unicode
を32ビット(4オクテット)固定長で表現する符号化方法(
CES
)の一つ。
目次
概要
由来
目的
特徴
仕様
BOM
BOMの無い文書
概要
由来
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オクテットは次の通りとなる。
リトルエンディアン
‐ 0xFF、0xFE、0x00、0x00
ビッグエンディアン
‐ 0x00、0x00、0xFE、0xFF
BOMの無い文書
BOMが定義される以前の文書には、BOMが無いものもある。
現在それは
UTF-32LE
や
UTF-32BE
と呼ばれ、名称でエンディアンネスを識別するようになっている。
なお、BOMがなく、エンディアンネスの指定も無いUTF-32の場合、その文書はビッグエンディアン(いわゆる
ネットワークバイトオーダー
)として処理される。
再検索