Unicodeとは、文字コードの規格の一つである。特定の言語によらず広く文字を扱い、そのエンコーディング方法を定義する。
概要
Unicodeは、Unicodeコンソーシアムが定める国際的な文字コードの規格であり、符号化文字集合と文字エンコーディングを定めている。
扱う文字は、世界中の主な言語の主な文字をカバーしており、現在は使われていない過去の言語の文字や様々な記号、制御文字も扱う。扱う文字の数は13万を越える。
Unicodeを用いることで異なる文字集合、文字エンコーディングを同時に取り扱う煩わしさを排除できる。Unicodeは主に国際化対応が必要なソフトウェア、規格、プログラミング言語で標準的に用いられる。例えばHTMLなどインターネット関係の仕様、主要なOS、Java、.NET Frameworkなどで使われている。
Unicodeは、ISO/IEC 10646と非常に密接な関係にある。元々は統一的な文字コードの規格として別々に誕生したものだが、1991年に統合されており、文字の追加などは同時に行われる。
符号化文字集合
Unicodeの符号化文字集合はISO/IEC 10646で定める符号化文字集合と一致している。
Unicode(バージョン2.0以降)では2バイトで表せる範囲(65,536個)のコードポイントの集まりを面(Plane)と呼んでいて、0から16までの全部で17の面から構成される。一番最初の面は基本多言語面(Basic Multilingual Plane, BMP)と呼ばれ、基本ラテン、平仮名、片仮名、基本的な漢字を含む。第2面は補助漢字面と呼ばれBMPに含まれない漢字が置かれている。
面はブロックと呼ばれる関連性の強い文字を集めた部分集合に分割される。日本でお馴染みの文字があるブロックは基本ラテン(0020-007F)、平仮名(3000-309F)、片仮名(30A0-30FF)、CJK統合漢字(4E00-9FFF)、半角形/全角形(FF00-FFEF)などである。
Unicode6.0からは携帯電話の絵文字も収録された。(参考:Unicode6.0の携帯電話の絵文字の一覧 - Wikipedia)
文字エンコーディング
- UTF-7 - 7ビットエンコーディング。可変長式。現在は「修正UTF-7」が用いられる。
- UTF-8 - 8ビットエンコーディング。可変長式。World Wide Webでのエンコーディングのデファクトスタンダードであり、Unicodeの文字エンコーディングとして最もメジャーである。
- UTF-16 - 16ビットエンコーディング。可変長式。ビッグエンディアンとリトルエンディアンがある。Unicode 1.0で制定された一番初めのエンコーディング方式(の後継)であり、この方式を単に「Unicode」と呼ぶソフトウェアが今も残っていたりする。
- UTF-32 - 32ビット固定長エンコーディング。こちらもビッグエンディアンとリトルエンディアンがある。
文字集合
- UCS-2 - 2バイト以内で表せる文字集合で、基本多言語面(第0面)と同等と言える
- UCS-4 - 4バイト(厳密には31bit)以内で表せる文字集合で、追加面(第1面~第16面)がここに含まれる。現在はUTF-16で扱えない文字コードは使用しない事になっており、21bitで全ての文字を表せる。
アスキーアート・顔文字
Unicodeは、JIS X 0208に定められた文字集合よりも遥かに多くの文字を含み、多くの新たな系統のアスキーアート・顔文字が生まれた。例えば以下のような顔文字が作られた。
符号位置の一覧
Unicodeに収録されている全ての文字等を表に纏めた。各ページはファイルサイズが大きいので注意。
- Unicode一覧(0000-4DFF) - 第0面/基本多言語面。「基本ラテン文字」~「易経記号」
- Unicode一覧(4E00-9FFF) - 第0面/基本多言語面。「CJK統合漢字」
- Unicode一覧(A000-FFFF) - 第0面/基本多言語面。「彝文字」~「特殊用途文字」
- Unicode一覧(10000-16FFF) - 第1面/追加多言語面。「線文字B音節文字」~「漢字の記号及び句読点」
- Unicode一覧(17000-1FFFF) - 第1面/追加多言語面。「西夏文字」~「記号及び絵記号拡張A」
- Unicode一覧(20000-23FFF) - 第2面/追加漢字面。「CJK統合漢字拡張B」 (3分割してある)
- Unicode一覧(24000-27FFF) - 同上3分割の2。
- Unicode一覧(28000-2A6FF) - 同上3分割の3。
- Unicode一覧(2A700-2FFFF) - 第2面/追加漢字面。「CJK統合漢字拡張C」~「CJK互換漢字補助」
- 30000-DFFFFは未割り当て、但し「??FFFE」「??FFFF」は非文字。うち第3面は第三漢字面として「CJK統合漢字拡張G」や小篆、甲骨文字等を収録予定→ Roadmap to the TIP
- Unicode一覧(E0000以降) - 第14面/追加特殊用途面。「タグ」、「字形選択子補助」; 第15面~第16面/私用面。「補助私用領域A」、「補助私用領域B」
関連動画
関連サイト
関連項目
- UTF-8 / UTF-16 / UTF-32
- サロゲートペア
- 波ダッシュ / チルダ
- 絵文字
- インビジブルセパレーター
- バイトオーダーマーク / エンディアン
- 結合文字
- 文字体系の一覧
- プログラミング関連用語の一覧
子記事
兄弟記事
- なし
- 14
- 0pt