Unicode
- Afrikaans
- Alemannisch
- Alemannisch
- አማርኛ
- العربية
- অসমীয়া
- Asturianu
- Azərbaycanca
- Boarisch
- Беларуская
- Беларуская (тарашкевіца)
- Български
- भोजपुरी
- ပအိုဝ်ႏဘာႏသာႏ
- বাংলা
- Brezhoneg
- Bosanski
- Català
- 閩東語 / Mìng-dĕ̤ng-ngṳ̄
- ᏣᎳᎩ
- کوردی
- Čeština
- Чӑвашла
- Cymraeg
- Dansk
- Deutsch
- Ελληνικά
- English
- Esperanto
- Español
- Eesti
- Euskara
- فارسی
- Suomi
- Français
- Gaeilge
- Galego
- ગુજરાતી
- 客家語 / Hak-kâ-ngî
- עברית
- हिन्दी
- Hrvatski
- Magyar
- Հայերեն
- Interlingua
- Bahasa Indonesia
- Ilokano
- Íslenska
- Italiano
- Jawa
- ქართული
- Қазақша
- ಕನ್ನಡ
- 한국어
- कॉशुर / کٲشُر
- Kurdî
- Кыргызча
- Latina
- Lingua Franca Nova
- Lietuvių
- Latviešu
- मैथिली
- Олык марий
- Македонски
- മലയാളം
- Монгол
- ဘာသာမန်
- मराठी
- Bahasa Melayu
- မြန်မာဘာသာ
- Plattdüütsch
- नेपाली
- नेपाल भाषा
- Nederlands
- Norsk nynorsk
- Norsk bokmål
- Occitan
- ਪੰਜਾਬੀ
- Papiamentu
- Polski
- پنجابی
- پښتو
- Português
- Română
- Русский
- संस्कृतम्
- Саха тыла
- ᱥᱟᱱᱛᱟᱲᱤ
- Scots
- سنڌي
- Srpskohrvatski / српскохрватски
- සිංහල
- Simple English
- Slovenčina
- Slovenščina
- Shqip
- Српски / srpski
- Sunda
- Svenska
- Kiswahili
- தமிழ்
- తెలుగు
- Тоҷикӣ
- ไทย
- Tagalog
- Türkçe
- ئۇيغۇرچە / Uyghurche
- Українська
- اردو
- Oʻzbekcha / ўзбекча
- Tiếng Việt
- Walon
- 吴语
- მარგალური
- ייִדיש
- Yorùbá
- 中文
- 文言
- 閩南語 / Bân-lâm-gú
- 閩南語 / Bân-lâm-gú
- 粵語
- 粵語
Unicode |
---|
文字符号化スキーム |
UTF-7 |
UTF-8 |
CESU-8 |
UTF-16 |
UTF-32 |
UTF-EBCDIC |
SCSU |
Punycode (IDN/IDNA) |
GB 18030 |
その他 |
UCS |
マッピング |
書字方向 |
BOM |
漢字統合 |
UnicodeとHTML |
Unicodeと電子メール |
Unicodeフォント |
Unicode(ユニコード)とはコンピュータ上で多言語の文字を単一の文字コードで取り扱うために1980年代に提唱された文字コードである。
ゼロックス社が提唱し、マイクロソフト、アップル、IBM、サン・マイクロシステムズ、ヒューレット・パッカード、ジャストシステムなどが参加するユニコードコンソーシアムにより作られ、1993年にISOでもISO/IEC 10646の一部として標準化された。
概要
Unicodeは世界で使われる全ての文字を共通の符号化文字集合にて利用できるようにしようという考えで作られ、NT系のMicrosoft Windows、Mac OS X、LinuxやJavaなどでの内部コードとして利用されている。
元々16ビットの文字集合[1] で全ての文字の網羅を目指して開発されたが、コードポイントが圧倒的に足りず、現在では21ビットの文字集合[2] として規定されている。
収録されている文字は、各国で標準として規定されている文字セットや実際に使用されている文字を持ち寄り、委員会により取捨選択されている。日本の文字については当初よりJIS X 0201、JIS X 0208とJIS X 0212を、Unicode 3.1ではJIS X 0213の内容を収録している。
また収録においては同じ意味・目的の文字は、できる限り同じコードポイントに割り当てる方針を取っている。そのため、CJK統合漢字(中国語、日本語、朝鮮語で使用される漢字が統合された領域)は大きな議論となった。各国のコードはISO/IEC 10646とは別の組織で標準化されているため、厳密には違うものであるが、コードポイントを共有する文字の間で非互換が生じないように慎重に標準化が進められている。
既存の符号化方式との相互運用性もある程度考慮されており、同じグリフ(字形)の文字であっても、歴史上・実用上の識別が求められる場合には互換領域がとられ、Unicodeを介在して文字コード変換を行った際に、復元可能となるように考慮されている。しかしながら、他の符号化文字集合(文字符号化方式)との変換の整合性においては、いくつかの問題がある[3] 。
Unicodeの文字を表現する場合、"U+"にその文字のコードポイントを表す16進数を続けた文字列を使って表す。BMPの場合は4桁、それ以上では必要に応じて5、6桁で表す。
文字集合
Unicodeに収録されている文字については、#一覧の「コード順分類一覧」を参照。
エンコーディング(符号化方式)
- UTF-7
- UTF-16 (後述)で表したUnicodeをBase64で変換して表す方式。ただし、ASCIIのアルファベット範囲等についてはBase64に変換しない等、特殊なエンコーディングを行う。かつてのSMTP等のように、7ビット単位でしかデータを扱えない通信方式を利用する場合を想定して作られている。ステートフルエンコーディングであり、運用上問題が多いため、現在ではこの方式は推奨されていない。Unicode文字を7ビット単位伝送通信にどうしても通さなければならない場合は、替わりにUTF-8をQuoted-printableあるいはBase64で変換するなどの方式が好ましいとされる。
- UTF-8(UTF-2、UTF-FSS)
- 8ビット単位の可変長コード(1〜4バイト)にエンコードする方式。ASCIIに対して上位互換となっており、文字の境界が明確である、エンコード・デコードに際して乗除算などの負荷の高い処理が必要ないなどの特長を持ち、インターネットではもっとも一般的に利用されている。
- 日本国内でのみ、 BOM (Byte Order Mark) がついているものをUTF-8、ついていないものをUTF-8Nとして区別することがあるが、国際的には認知されていない。[4] Internet Explorerでは、BOMのついていないUTF-8の文書を読み込むと(日本語版の場合)Shift_JISだと誤認する一方で、BOMがついていると有効なデータとして受け付けないアプリケーションも存在する。[5]
- UTF-16
- BMP (基本多言語面)を16ビット、その他を#サロゲートペアという仕組みを使い32ビットで指定する方式。Windows XPなどの近年のOSの内部コードには、この形式が使われている。UCS-2ともBMPの範囲で互換性がある。
- ファイルの先頭には通常BOM[6] が付与される。ビッグエンディアンのものをUTF-16BE、リトルエンディアンのものをUTF-16LEとして区別することもある。MIMEなどの手段で文字符号化方式にUTF-16BEやUTF-16LEを指定してる場合にはBOMを付与することは許容されない(ZERO WIDTH NON-BREAKING SPACEとして扱う)。Windows上の文書における「Unicodeテキスト」は特に明記のない場合につき、リトルエンディアンのUTF-16のことを指す。TCP/IPネットワークではプロトコルヘッダやMIME等の手段で文字符号化方式が指定されずBOMも付与されない場合、ビッグエンディアンに決められている(→ エンディアン)。
- UTF-32 (Unicode 3.1より)
- Unicodeの全コードを単一長のコードとして32ビットで指定する方式。実際に使われるのは21ビット(Unicodeの空間がU+10FFFFまでであるため)。この21ビットの範囲内ではUCS-4と互換性がある。これもUTF-16と同じく、ビッグエンディアンとリトルエンディアンが存在し、それぞれUTF-32BE、UTF-32LEと呼ばれる。MIMEなどの手段で文字符号化方式にUTF-32BEやUTF-32LEを指定してる場合にはBOMを付与することは許容されない(ZERO WIDTH NON-BREAKING SPACEとして扱う)。単純な符号化方式であるが、テキストファイルなどでは文章のサイズが大きくなるため(全てBMPの文字からなる文章の場合はUTF-16符号化の2倍のサイズとなる)使用されることは稀である。そのためかMicrosoft Officeでのエンコードされたテキストファイルの読み書きはこの符号化方式には未だ対応していない。フリーウェアおよびシェアウェアの多数の符号化方式に対応しているテキストエディタでもこの符号化方式には対応していないものは多い。ただしすべてのUnicodeを扱う処理を行う場合には、すべての文字を同一のバイト数で表現したほうが処理に適するため、内部の処理ではUTF-32(あるいはUCS-4)で行うことも多い。
- UTF-16などと同様にUTF-32にもBOMがあり、データストリームの先頭に付される。先頭の4バイトが0xFF,0xFE,0x00,0x00ならリトルエンディアン、0x00,0x00,0xFE,0xFFならビッグエンディアンになる。UTF-16のリトルエンディアンとUTF-32のリトルエンディアンは最初の2バイトが等しいため、4バイトまで読んで判断する必要がある。
以下はエイプリルフールに公開されたジョークRFCである。UTF-9に関しては同名の規格が実際に検討されていたが、ドラフト段階で破棄されているため重複にはならない。
- UTF-9
- 可変長の9ビットコードによりエンコードする方式。1バイトが8ビット(オクテット)ではなく9ビット(ノネット)であるような環境での利用を想定している。UTF-8と比較した場合、Latin-1領域が1バイト、CJK統合漢字領域が2バイトで表現できる特長があり、データ量が少なくなる。ワード長が9の倍数のコンピュータ(ACOS-6など)であれば計算コストも低い。
- UTF-18
- Unicode符号位置を単一の18ビットによりエンコードする方式。UTF-8に対するUTF-16のようなものだが、RFC公開時点のUnicodeで文字が定義されていた4つの面を余った2ビットで識別するため、サロゲートは使わない。
以下はドラフト段階で破棄された規格案。
拡張領域
サロゲートペア
Unicodeは 216 = 65,536 種類の文字を収録でき、当初の構想では世界中のすべての文字をこの16ビット固定長のコード体系に登録可能と思われていた。だが、Unicode 1.0公表後、拡張可能な空き領域2万字分を巡り、各国から文字追加要求が起こった。その内容は中国、日本、台湾、ベトナム、シンガポールの追加漢字約1万5千字、古ハングル約5千字、未登録言語の文字等々である。このため、Unicodeの16ビット枠内に全世界の文字を収録するという計画は早々に破綻し、1996年、Unicode 2.0ではサロゲートペア (Surrogate Pair) の拡張が盛り込まれた。Surrogateは「代理」、Pairは「対(つい)」の意味。
サロゲートペアは16ビットUnicodeの未定義領域1024文字分を2つ使い(前半0xD800〜0xDBFF, 後半0xDC00〜0xDFFF)、それをペアにすることで1文字を表し (1024 ×ばつ 1024 = 1,048,576文字)、その1,048,576文字を256 ×ばつ 256の区点 (row, cell) からなる「面」 (plane) に順番に割り振っていく。これにより 1,048,576 / (256 ×ばつ 256 = 65,536) = 16 で、全部で第16面までの文字を収録することができる。つまり第01面から第16面までであり、これに加えて第00面 (BMP) も使用可能なので、合計で 1,048,576 + 65,536 - 2,048 = 111万2,064文字が使用可能になる。エスケープシーケンスこそ使用しないものの、16ビット文字コード体系との互換性を維持するために、UTF-16(16ビットを基本単位とする文字符号化方式)を採用した結果、Unicodeは16ビットと32ビットが混在する複雑な可変長文字コードとなってしまった。
サロゲートペアの方式は16ビット固定長を志向したUTF-16との互換性維持のために設けられた拡張であり、UTF-8符号化方式やUTF-32符号化方式では利用できない。
拡張領域に含まれる文字
現在第1面はSupplementary Multilingual Plane(SMPと略される。追加多言語面。主に古代文字が収録されている。)、第2面はSupplementary Ideographic Plane(SIP, 追加漢字面。漢字専用領域。)、第14面はSupplementary Special-purpose Plane(SSP, 追加特殊用途面。制御コード専用領域。)、第15面および第16面は私用目的のための面(BMPのU+E000〜U+F8FFの領域の拡張)と決められている。
第3面〜第13面は未使用である。(そのうち第3面は漢字が第2面で足りなくなったときのために予約されている。)
日本では2000年にJIS X 0208を拡張する目的でJIS X 0213(いわゆるJIS第3第4水準)が制定されたが、この際、新たに採用された文字でUnicodeに無かったものの一部は、BMPに収録できず、第2面への収録となった(最終対応は2002年)。このため、JIS X 0213収録文字をUnicodeで完全にサポートするには追加漢字面をサポートしたOS、フォント、アプリケーションが必要となる[7] 。
歴史
年 | バージョン | 概要 | 日本語における主要な追加文字 |
---|---|---|---|
1991年10月 | Unicode 1.0 | 初期バージョン、16ビットの文字コード | JIS X 0201、JIS X 0208、JIS X 0212 |
1993年6月 | Unicode 1.1 | ISO/IEC 10646-1:1993にあわせ変更 | |
1996年7月 | Unicode 2.0 | ISO/IEC 10646-1:1993の追補Amd.1からAmd.7に対応。ハングルの大移動を行いUnicode1.xと互換性を失う(Amd.5)、サロゲートペアを導入し収容可能な文字を大幅に増やす、21ビット領域に拡張(Amd.1) | |
1998年5月 | Unicode 2.1 | ユーロ記号と正誤表を追加 | |
1999年9月 | Unicode 3.0 | ISO/IEC 10646-1:2000が発行されるまでの追補Amd.8からAmd.31の文字すべてに対応。CJK統合漢字の拡張Aで漢字6582字を追加(Amd.17) | 地名や人名などに用いられる漢字 |
2001年3月 | Unicode 3.1 | ISO/IEC 10646-2:2001に対応。BMP以外の拡張。CJK統合漢字の拡張Bで漢字42711字を追加し、JIS X 0213一部対応 | 地名や人名などに用いられる漢字 |
2002年3月 | Unicode 3.2 | ISO/IEC 10646-1:2000の追補Amd.1に対応。JIS X 0213正式対応 | |
2003年4月 | Unicode 4.0.0 | ISO/IEC 10646:2003に対応 | |
2005年3月 | Unicode 4.1.0 | ISO/IEC 10646:2003の追補Amd.1に対応 | |
2006年7月 | Unicode 5.0.0 | ISO/IEC 10646:2003の追補Amd.2とシンド語(Amd.3に含まれる)に対応 | |
2008年3月予定 | Unicode 5.1.0 | 麻雀牌、割り算の記号、電話機の星印 |
Unicodeの諸問題
バージョンごとの非互換性
Unicodeは同一のコードでもバージョンが変わったとき完全に異なった文字を定義し直したことがある。
最も有名な事象がUnicode 2.0でのハングルの大移動である。これはUnicode 1.1までで定義されていたハングルの領域を破棄し、新しいハングルの領域を別の位置に設定し、破棄された領域には別の文字の領域を割り当てることとなった。その後、Unicode 3.0でCJK統合漢字拡張Aが割り当てられた。このように、Unicode 1.1以前でハングルを記述した文書とUnicode 2.0以降でCJK統合漢字拡張Aを記述した文書には互換性がない[8] 。
日本語環境でのUnicodeの諸問題
YEN SIGN問題
Shift_JISではJIS X 0201における円記号 "¥" が0x5Cに置かれている。これをUnicodeのマッピングに合わせるとYEN SIGN (U+00A5) にマップされる。しかし、0x5CはASCIIではバックスラッシュ "\" に相当し、C言語などのエスケープシーケンスに使われる事から、この文字のコードを変更すると問題が起きる。そのためUnicodeを利用するアプリケーションはU+007F以下のコードに関しては移動させないという暗黙のルールができている。
そうなると、Unicode環境では円記号がバックスラッシュの表示に変わってしまうように思われるが、これは日本語用のフォントデータの0x5Cの位置には円記号の字形を当ててしまうことで対処している。これによって、それまでの文字コードを使用していたときと同じ感覚で円記号を用いることができる。
この問題は日本語環境に限った事ではない。もともと、ISO646上で0x5Cを含む数種の文字は自由領域(バリアント)として各国での定義を認めていた。そのため、日本語以外でもASCIIでバックスラッシュに相当するコードに異なる記号を当てているケースが多い。例えば、韓国ではウォン記号 (WON SIGN, U+20A9, "₩") である。
WAVE DASH - FULLWIDTH TILDE問題
JIS X 0221規定のJIS X 0208とJIS X 0221の対応表では、波ダッシュはWAVE DASH (U+301C, "〜") に対応させているが、マイクロソフトはWindowsのShift_JISとUnicodeの変換テーブルを作成する際に、JIS X 0208において1区33点に割り当てられている波ダッシュ "〜" を、Unicodeにおける全角チルダ (FULLWIDTH TILDE, U+FF5E, "~") に割り当てたため不整合が生じる。この結果、Mac OS等のJIS X 0221準拠のShift_JIS ⇔ Unicode変換テーブルをもつ処理系と、Windowsとの間でUnicodeデータをやり取りする場合、文字化けを起こすことになる。そこでWindows以外のOS上で動くアプリケーションの中には、CP932という名前でマイクロソフト仕様のShift_JISコード体系を別途用意して対応しているケースが多い。この原因とされているUnicode仕様書の例示字形の問題に関しては、波ダッシュ#Unicodeに関連する問題を参照すること。
また、マイクロソフトは同様にEM DASH (U+2014, "—") をHORIZONTAL BAR (U+2015, "―") に、DOUBLE VERTICAL LINE (U+2016, "‖") をPARALLEL TO (U+2225, "∥") に、MINUS SIGN (U+2212, "−") をFULLWIDTH HYPHEN-MINUS (U+FF0D, "-") に割り当てており、これらの変換時にも問題が起こる。[9]
一覧
範囲 | 名称 | 備考 |
---|---|---|
U+0000-007F | Basic Latin | 基本ラテン文字 (ASCII互換) |
U+0080-00FF | Latin-1 Supplement | ラテン1補助 |
U+0100-017F | Latin Extended-A | ラテン文字拡張A |
U+0180-024F | Latin Extended-B | ラテン文字拡張B |
U+0250-02AF | IPA Extensions | IPA拡張 (国際音声記号) |
U+02B0-02FF | Spacing Modifier Letters | 前進を伴う修飾文字 |
U+0300-036F | Combining Diacritical Marks | ダイアクリティカルマーク(合成可能) |
U+0370-03FF | Greek and Coptic | ギリシア文字・コプト文字 |
U+0400-04FF | Cyrillic | キリール文字(キリル文字) |
U+0500-052F | Cyrillic Supplement | キリール文字追加 |
U+0530-058F | Armenian | アルメニア文字 |
U+0590-05FF | Hebrew | ヘブライ文字 |
U+0600-06FF | Arabic | アラビア文字 |
U+0700-074F | Syriac | シリア文字 |
U+0750-077F | Arabic Supplement | アラビア文字追加 |
U+0780-07BF | Thaana | ターナ文字 |
U+07C0-07FF | NKo | ンコ文字 |
U+0900-097F | Devanagari | デーヴァーナーガリー文字 |
U+0980-09FF | Bengali | ベンガル文字 |
U+0A00-0A7F | Gurmukhi | グルムキー文字 |
U+0A80-0AFF | Gujarati | グジャラーティ文字(グジャラーティー文字) |
U+0B00-0B7F | Oriya | オリヤー文字 |
U+0B80-0BFF | Tamil | タミル文字 |
U+0C00-0C7F | Telugu | テルグ文字(テルグー文字) |
U+0C80-0CFF | Kannada | カンナダ文字 |
U+0D00-0D7F | Malayalam | マラヤーラム文字 |
U+0D80-0DFF | Sinhala | シンハラ文字 |
U+0E00-0E7F | Thai | タイ文字 |
U+0E80-0EFF | Lao | ラオ文字 |
U+0F00-0FFF | Tibetan | チベット文字 |
U+1000-109F | Myanmar | ミャンマー文字 (ビルマ文字) |
U+10A0-10FF | Georgian | グルジア文字 |
U+1100-11FF | Hangul Jamo | ハングル字母 |
U+1200-137F | Ethiopic | エチオピア文字 |
U+1380-139F | Ethiopic Supplement | |
U+13A0-13FF | Cherokee | チェロキー文字 |
U+1400-167F | Unified Canadian Aboriginal Syllabics | 統合カナダ先住民音節 |
U+1680-169F | Ogham | オーム文字 (オガム文字) |
U+16A0-16FF | Runic | ルーン文字 |
U+1700-171F | Tagalog | タガログ文字 |
U+1720-173F | Hanunoo | ハヌノオ文字 |
U+1740-175F | Buhid | ブヒッド文字 |
U+1760-177F | Tagbanwa | タグバヌワ文字 |
U+1780-17FF | Khmer | クメール文字 |
U+1800-18AF | Mongolian | モンゴル文字(蒙古文字) |
U+1900-194F | Limbu | リンブ文字 |
U+1950-197F | Tai Le | タイ・レ文字 |
U+1980-19DF | New Tai Lue | 新タイ・ルー文字 |
U+19E0-19FF | Khmer Symbols | クメール記号 |
U+1A00-1A1F | Buginese | ブギス文字 |
U+1B00-1B7F | Balinese | バリ文字 |
U+1D00-1D7F | Phonetic Extensions | 表音拡張 |
U+1D80-1DBF | Phonetic Extensions Supplement | |
U+1DC0-1DFF | Combining Diacritical Marks Supplement | ダイアクリティカルマーク追加(合成可能) |
U+1E00-1EFF | Latin Extended Additional | ラテン文字拡張追加 |
U+1F00-1FFF | Greek Extended | ギリシア文字拡張 |
U+2000-206F | General Punctuation | 一般句読点 |
U+2070-209F | Superscripts and Subscripts | 上付き・下付き |
U+20A0-20CF | Currency Symbols | 通貨記号 |
U+20D0-20FF | Combining Diacritical Marks for Symbols | 記号用ダイアクリティカルマーク(合成可能) |
U+2100-214F | Letterlike Symbols | 文字様記号 |
U+2150-218F | Number Forms | 数字に準じるもの |
U+2190-21FF | Arrows | 矢印 |
U+2200-22FF | Mathematical Operators | 数学記号 |
U+2300-23FF | Miscellaneous Technical | その他の技術用記号 |
U+2400-243F | Control Pictures | 制御機能用記号 |
U+2440-245F | Optical Character Recognition | 光学的文字認識、OCR |
U+2460-24FF | Enclosed Alphanumerics | 囲み英数字 |
U+2500-257F | Box Drawing | 罫線素片 |
U+2580-259F | Block Elements | ブロック要素 |
U+25A0-25FF | Geometric Shapes | 幾何学模様 |
U+2600-26FF | Miscellaneous Symbols | その他の記号 |
U+2700-27BF | Dingbats | 装飾記号 |
U+27C0-27EF | Miscellaneous Mathematical Symbols-A | その他の数学記号A |
U+27F0-27FF | Supplemental Arrows-A | 追加矢印A |
U+2800-28FF | Braille Patterns | 点字図形 |
U+2900-297F | Supplemental Arrows-B | 追加矢印B |
U+2980-29FF | Miscellaneous Mathematical Symbols-B | その他の数学記号B |
U+2A00-2AFF | Supplemental Mathematical Operators | 追加数学演算子 |
U+2B00-2BFF | Miscellaneous Symbols and Arrows | その他の記号と矢印 |
U+2C00-2C5F | Glagolitic | グラゴル文字 |
U+2C60-2C7F | Latin Extended-C | ラテン拡張C |
U+2C80-2CFF | Coptic | コプト文字 |
U+2D00-2D2F | Georgian Supplement | グルジア文字追加 |
U+2D30-2D7F | Tifinagh | ティフナグ文字 |
U+2D80-2DDF | Ethiopic Extended | エチオピア文字拡張 |
U+2E00-2E7F | Supplemental Punctuation | 追加句読点 |
U+2E80-2EFF | CJK Radicals Supplement | CJKの部首補助 |
U+2F00-2FDF | Kangxi Radicals | 康熙部首 |
U+2FF0-2FFF | Ideographic Description Characters | 漢字構成記述文字(IDC) |
U+3000-303F | CJK Symbols and Punctuation | CJKの記号と句読点 |
U+3040-309F | Hiragana | 平仮名 |
U+30A0-30FF | Katakana | 片仮名 |
U+3100-312F | Bopomofo | 注音字母(注音符号) |
U+3130-318F | Hangul Compatibility Jamo | ハングル互換字母 |
U+3190-319F | Kanbun | 漢文用記号(読み下し) |
U+31A0-31BF | Bopomofo Extended | 注音字母拡張 |
U+31C0-31EF | CJK Strokes | CJK字画 |
U+31F0-31FF | Katakana Phonetic Extensions | 片仮名表音拡張 |
U+3200-32FF | Enclosed CJK Letters and Months | 囲みCJK文字・月 |
U+3300-33FF | CJK Compatibility | CJK互換用文字 |
U+3400-4DBF | CJK Unified Ideographs Extension A | CJK統合漢字拡張A |
U+4DC0-4DFF | Yijing Hexagram Symbols | 易経記号 |
U+4E00-9FFF | CJK Unified Ideographs | CJK統合漢字 |
U+A000-A48F | Yi Syllables | イ文字 |
U+A490-A4CF | Yi Radicals | イ文字部首 |
U+A700-A71F | Modifier Tone Letters | 声調記号 |
U+A720-A7FF | Latin Extended-D | ラテン拡張D |
U+A800-A82F | Syloti Nagri | シロティ・ナグリ文字 |
U+A840-A87F | Phags-pa | パスパ文字 |
U+AC00-D7AF | Hangul Syllables | ハングル音節文字 |
U+D800-DB7F | High Surrogates | サロゲートペア領域 |
U+DB80-DBFF | High Private Use Surrogates | |
U+DC00-DFFF | Low Surrogates | |
U+E000-F8FF | Private Use Area | 私用領域(外字領域) |
U+F900-FAFF | CJK Compatibility Ideographs | CJK互換漢字 |
U+FB00-FB4F | Alphabetic Presentation Forms | アルファベット表示形 |
U+FB50-FDFF | Arabic Presentation Forms-A | アラビア表示形A |
U+FE00-FE0F | Variation Selectors | 字形選択子 |
U+FE10-FE1F | Vertical Forms | 縦書き用句読点 |
U+FE20-FE2F | Combining Half Marks | 半記号(合成可能) |
U+FE30-FE4F | CJK Compatibility Forms | CJK互換形 |
U+FE50-FE6F | Small Form Variants | 小字形 |
U+FE70-FEFF | Arabic Presentation Forms-B | アラビア表示形B |
U+FF00-FFEF | Halfwidth and Fullwidth Forms | 全角・半角形 |
U+FFF0-FFFF | Specials | 特殊用途文字 |
U+10000-1007F | Linear B Syllabary | 線文字B |
U+10080-100FF | Linear B Ideograms | |
U+10100-1013F | Aegean Numbers | エーゲ数字 |
U+10140-1018F | Ancient Greek Numbers | 古代ギリシア数字 |
U+10300-1032F | Old Italic | 古イタリア文字 |
U+10330-1034F | Gothic | ゴート文字 |
U+10380-1039F | Ugaritic | ウガリト文字 |
U+103A0-103DF | Old Persian | 古ペルシア文字 |
U+10400-1044F | Deseret | デゼレット文字 |
U+10450-1047F | Shavian | シェイヴィアン文字 |
U+10480-104AF | Osmanya | オスマニヤ文字 |
U+10800-1083F | Cypriot Syllabary | キプロス文字 |
U+10900-1091F | Phoenician | フェニキア文字 |
U+10A00-10A5F | Kharoshthi | カローシュティー文字 |
U+12000-123FF | Cuneiform | 楔形文字 |
U+12400-1247F | Cuneiform Numbers and Punctuation | |
U+1D000-1D0FF | Byzantine Musical Symbols | ビザンティン音楽記号 |
U+1D100-1D1FF | Musical Symbols | 音楽記号 |
U+1D200-1D24F | Ancient Greek Musical Notation | 古代ギリシア記譜法 |
U+1D300-1D35F | Tai Xuan Jing Symbols | 太玄経記号 |
U+1D360-1D37F | Counting Rod Numerals | 算木 |
U+1D400-1D7FF | Mathematical Alphanumeric Symbols | 数学用英数字記号 |
U+20000-2A6DF | CJK Unified Ideographs Extension B | CJK統合漢字拡張B |
U+2F800-2FA1F | CJK Compatibility Ideographs Supplement | CJK互換漢字追加 |
U+E0000-E007F | Tags | 言語タグ |
U+E0100-E01EF | Variation Selectors Supplement | 字形選択子補助 |
U+F0000-FFFFF | Supplementary Private Use Area-A | 追加私用領域A |
U+100000-10FFFF | Supplementary Private Use Area-B | 追加私用領域B |
ブロックの日本語名称はJIS X 0221-1:2001によった。他の記事で用いられている名称と異なる場合、その名前を併記した。
関連項目
外部リンク
脚注
- ^ 現在、BMPで規定されている領域のみの文字集合。この文字集合の範囲は、ISO/IEC 10646におけるUCS-2で定義される範囲と同一。
- ^ ISO/IEC 10646におけるUCS-4は31ビットの文字集合であり、これとは別物。
- ^ 例えば、CP51932とeucJP-MSのように既存文字コード同士でUnicodeとの対応が一部違う場合には文字化けが発生する等がある。
- ^ もともと8ビットを基本とするUTF-8ではBOMを付与する必要はないが、UTF-8であることが識別できるようにデータストリームの先頭に EF BB BF の3バイトが付与されることがある。Windowsのメモ帳で作成した「Unicodeテキスト」には標準でBOMが付与される。
- ^ ここでいうBOMはバイトオーダーを表すものではなく、UTF-16における「真の意味でのBOM」と類似する存在であるがゆえに慣用的にこう呼ばれているに過ぎない。
- ^ BOMとは、8ビットを基本とするシステムでバイトオーダーを識別するための印であり、データストリームの先頭に付与される。値はU+FEFF。システムが読み込んだ先頭2バイトが0xFF,0xFEならリトルエンディアン、0xFE,0xFFならビッグエンディアンとして後に続く文書を処理する。
RFC 2781 ではBOMが付いていないUTF-16文書はビッグエンディアンとして解釈することになっている。Windowsのメモ帳で作成した「Unicodeテキスト」は標準でBOMが付与されるようになっている。 - ^ Shift_JIS等、Unicodeにて規定されるもの以外のエンコーディングを利用する場合であっても、JIS X 0213に対応するフォントやアプリケーションが必要なことは言うまでも無い。
- ^ RFC 3629の5. Versions of the standardsでKorean mess (ハングル大移動) について、8. MIME registrationでUTF-8にバージョン指定がない理由についての言及がある。
- ^ Windows VistaやOffice 2007に付属するIMEパッドにおいてJIS X 0208やJIS X 0213のマッピングは上記の文字についてもJISで規定されているマッピングと同じマッピングを使用している。