UTF-32 単語

ユーティーエフサンジュウニ

1.4千文字の記事

UTF-32とは、Unicode文字符号化形式/文字符号化方式の一つである。

概要

UTF-32とは、Unicode文字符号化形式/文字符号化方式の一つで、Unicodeの21ビットを表現するのに32ビット(=4バイト)あれば十分だろうということで、全て4バイト固定長で表現する方式である。ただ、異体字セレクタなど、前の文字と結合して用いるものがあるので、全な1単位1文字は実現できていない。

UTF-8なら1バイトで表現できる数字にも4バイトを消費する反面、コードポイント数*4バイトが長さに一致するので、何番定された文字に高速にアクセスできるという利点がある。

Unicodeは21ビットまでなので、先頭のバイト(厳密には11ビット)は常に0になり、メモリ駄が多いので使用される場面は少ない。

Unicodeの符号位置を表記するのにU+の後に16進数を続ける書式があるが、UTF-32ではこの16進数がそのまま格納される。

バイトオーダーマーク

UTF-16と同様である。UTF-32BE, UTF-32LEではバイトオーダーマークは使用禁止。無印 UTF-32では、00 00 FE FFビッグエンディアンFF FE 00 00はリトルエンディアン省略されるとビッグエンディアンと解釈される。

また、Unicodeの各面におけるFF FEで終わる符号位置U+?FFFE(?は0-10(16))はUTF-32でリトルエンディアンになると、FE FF 0x 00となり、UTF-16のBOMありビッグエンディアンと区別が難しくなるため使用しないことになっている。

関連項目

コラム: UTF-24?

Unicode文字は21ビットで表現可である。8ビット(=1バイト)単位になるのは仕方がないとしても、24ビット(=3バイト)あれば十分なはずで、32ビット(=4バイト)もいらないのではないだろうか。

というようなことは2007年既に検討済みexitである。

当時流の32ビットコンピューターではデータのやり取りを行う単位が32ビット(1つのメモリアドレスに保持するデータは32ビット)であった。24ビットという中途半端な単位では、下記の2文字のように、1文字3バイトが1バイト+2バイトといった形で2つのアドレスに分かれて保管されてしまう。

アドレス単位 1 2 3
バイト単位 1 2 3 4 5 6 7 8 9 10 11 12
文字単位 1 2 3 4

2つのアドレスに分かれて保管された場合、ランダムアクセス読み出す時にも2つのアドレスへのアクセス(+ 有効部分のバイトデータ切り出し + 結合)が必要となり、1メモリアドレスアクセスするだけで読み出せるUTF-32にべて倍以上の時間が必要になる。

固定長方式はアクセス速度向上のためならメモリ容量の駄をいとわないようなシビアな局面での使用が想定されるため、格段に速度が低下するUTF-24は不採用になったようだ。

この点、UTF-8は可変長なので1文字データアドレス界をまたぐのは日常茶飯事なのだが、UTF-8そもそも可変長ゆえにアドレス定してのランダムアクセスができないので、こういう意味でのパフォーマンス向上には意味がないと言える。

この記事を編集する

掲示板

掲示板に書き込みがありません。

おすすめトレンド

ニコニ広告で宣伝された記事

記事と一緒に動画もおすすめ!
☆くろさや☆[単語]

提供: 弦巻こころ

もっと見る

急上昇ワード改

最終更新:2025/12/14(日) 23:00

ほめられた記事

最終更新:2025/12/14(日) 23:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP