UTF-32とは? わかりやすく解説

ユーティーエフ‐さんじゅうに【UTF-32】〔‐サンジフニ〕


UTF-32

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/10/19 09:59 UTC 版)

UTF-32(およびUCS-4#歴史を参照)は、Unicodeの各符号位置32ビット符号単位 1つだけを使う、固定長のUnicodeの符号化形式および符号化スキームである。他の UTF(: Unicode transformation format)はすべて符号位置によって符号単位列の長さが変化する可変長であるため、UTF-32はもっとも単純なUTFであるとみなせる。

UTF-32は、テキストファイルで使用されることは少なく、主にシステムのメモリ上での管理や、符号位置の数で管理するデータベースなどで使用される。

概要

一般にシステムが文字を扱う場合には、必要な1つの符号位置にアクセスすることで文字情報(グリフの形状や文字の持つ意味など)を取得する。UTF-32の場合は対象の1領域のみアクセスすることで対象となる文字情報を得ることができるが、可変長のUnicode形式では1つの符号位置を特定するために複数回のアクセスが必要となる。そのため、アクセス対象のメモリ上に配置する場合には固定長であるUTF-32が使用されることがある。

昨今のデータベースでは、バイト数ではなく、符号位置の数で領域を確保できる型を利用できる。符号位置数の型では他のUnicode形式では固定のバイト数を確保できないが、UTF-32の場合にはバイト数が固定であるため物理サイズをディスク上に確保することが可能である。

データのサイズで見た場合、他の文字符号化スキームと比較するとサイズは大きくなる。また文字列の表示幅の計算も、非常に限られた場合を除いて全く簡単にはならない。なぜならば、“固定幅”フォントを使った場合でさえ、 1つの文字位置に対して複数の符号位置が存在するかもしれない(結合文字など)し、 1つの符号位置に対して複数の文字位置を使うかもしれない(CJKV漢字など)。結合文字があるので、エディタは 1つの符号位置を編集時の 1単位とみなすこともできない。

これらの理由から、データの交換などの場合には、UTF-32はほとんど使われず、UTF-8UTF-16がUnicode文書の通常の符号化スキームとして使われている。

なお、特定の文字がUnicodeでどの符号位置になるかをテキストで表現する場合には、U+10001などのように、UTF-32で扱った場合の16進数表記が使用されることがほとんどである[要出典]

テキスト形式で扱う場合、UTF-32は先頭にバイト順マーク (BOM) をつける。先頭の4バイトの並びが FF FE 00 00 ならリトルエンディアンとなり、00 00 FE FF ならビッグエンディアンとなる。

プログラミング言語においては、UTF-32の指定には大文字Uを利用することが多く、C言語 (C11) や C++ (C++11) などではそれを文字列リテラルの前に置くことでUTF-32として処理されるようになる。

歴史

最初のISO/IEC 10646規格は、UCS-4[注 1]と呼ばれる31ビット符号化文字集合を定義していた。この形式では、UCSに含まれるおのおのの符号化された文字は、32ビットで扱いやすい0–7FFFFFFFの符号位置で表現される。

最上位ビットが1になる値を避け、32ビットではなく31ビットとしたのは、これをコンピュータの内部表現として使用した場合に、最上位ビットが1のコードをエスケープなどの目的に使い、ISO/IEC 2022などの Unicode や ISO 10646 と異なるコード体系のための内部表現と共用するといった便宜のためである。参考として、4バイトコードで最上位ビットが1のコードを使うものにGB 18030がある。

UCS-4 は、 1114112個 (= 220+216) の符号位置を持ち、そのため十六進で10FFFFまでしか必要としないUnicode符号空間のすべてを表現するのに、UCS-4は十分である。比較的小さな符号位置の集合へのマッピングのためにそのように大きな符号空間を予約するのは浪費だと考える者がいるので、新しい符号化形式 UTF-32 が提案された。UTF-32 は UCS-4 の部分集合で、32ビットの符号値を0から10FFFFの符号空間の範囲でのみ使用する。

UTF-32は、最初はUCS-4規格の部分集合だったが、ISO/IEC JTC 1/SC 2/WG 2の方針と手続きの文書は、すべての将来の文字割り当ては、BMPか最初の14の追加面に制限され、さらに私用面のうち第0群の第224–255面 (E00000–FFFFFF) と第96–127群の面 (60000000–7FFFFFFF) は削除されたと述べている。

脚注

出典

注釈

  1. ^ UTF(符号化形式/符号化スキーム)ではなくUCSであることに注意

参考資料

用語の日本語表記は原則として次にならった:Unicode Terminology English - Japanese”. Unicode, Inc. 2010年1月1日閲覧。

関連項目

外部リンク


UTF-32 (UCS-4)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/27 04:10 UTC 版)

ISO/IEC 10646」の記事における「UTF-32 (UCS-4)」の解説

UnicodeのUTF-32と同じ。

※この「UTF-32 (UCS-4)」の解説は、「ISO/IEC 10646」の解説の一部です。
「UTF-32 (UCS-4)」を含む「ISO/IEC 10646」の記事については、「ISO/IEC 10646」の概要を参照ください。

ウィキペディア小見出し辞書の「UTF-32」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「UTF-32」の関連用語

UTF-32のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



UTF-32のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのUTF-32 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのISO/IEC 10646 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS