■ ユニコード 概要
<特徴>
・一つの文字に対して、全世界で重複のない、ユニークな文字コードが設定されている。
<歴史・現在>
・ ゼロックス、マイクロソフト、IBM、サンマイクロシステムなどがUnicodコンソーシアムをつくり開発を進めた。
・ 1993年にISO10646の一部に採用された。徐々にUnicodeがISO10646になる流れとなっている。
・ 現時点(2008.11.24)では Unicode 第5.1版(2008年4月制定)である。
<文字サイズ>
・ 文字コードセットしては2〜4バイトの可変長になっている。
・ 開発当初は2バイト固定長であったが 対応文字数が 2バイトの65536以上となったことからUnicode第2.0以降変更となった。
<サロゲートペア>
・ 未使用の2バイト+2バイト で4バイトの文字コードを設定し、文字コード数不足に対応することとなった。 そして、この4バイトの
文字はサロゲート文字、また2つの2バイトのペアはサロゲートペアと命名された。
・ サロゲートペア(Surrogate Pair:代理ペア)と呼ばれる予備バイトを使用した2バイトのペアをBMP(Basic Multilingual Plane)面に
1,048,576(=1024×1024)個つくり各ペアに1個の文字を割り当て不足分に割り当てる方式が採用されている。この結果、4バイトの文字が
出現してしまうこととなったが 1,112,064(= 256×256 - 1024×2 + 1024×1024)個の文字にUnicodeコードを割り当てることができるように
なった。
具体的には 0xD800〜0xDBFF(上位サロゲート) と 0xDC00〜0xDFFF(下位サロゲート)が 4バイト文字に使用されてる。
<日本語>
・ JIS漢字コードは Unicode 第3.2版(2002年3月制定)からJIS X 0213が正式採用されている。JIS X 0213の一部の漢字はサロゲートペア
方式の拡張領域に配置されている。OSとアプリケーションが共に対応していないと表示できない。
・ JIS X 0213は CJK(Chinese-Japanes-Korean)統合漢字の一部となっている。
・ ANKコード(JIS半角英数カナ文字コード:JIS X 0201)は当然ながらは採用されていない。したがって 半角カタカナ、半角円記号\、半角
オーバーバー ̄はUnicodeには存在しない。
<OS>
・ NT4.0、Windows2000、XP、Vista、Mac、Linuxの内部で採用されている。
・ WindowsはシフトJISコードからUnicodeへの転換期にある。
<ファイルの読み書き>
・プログラムはシフトJISのファイルを呼び出すとき、すまわちメモリにロードする時Unicodeに変換している。Unicodeで処理を行い、ファイルに
書き込む時はシフトJISに変換してファイルしている。
<コードセットの調べ方>
・ Unicode Consortiumの URL : Unihan Database で調べることができる。
<ユニコード表記>
ユニコードの文字表記であることを明記する場合は、16進文字の前に ” U+ ”をつける。(例 及び下表参照)
例 あ : U+3042
<ユニコードの例>
数値の表記は、decimalを除きすべて16進数表記です。尚、decimalは10数表記です。
文字 ( )内の文字は表示されません |
ユニコード表記 | decimal | UTF-8 | UTF-16 | UTF-32 | 備考 |
あ | U+3042 | 12354 | E3 81 82 | 3042 | 00003042 | ひらがな |
い | U+3044 | 12356 | E3 81 84 | 3044 | 00003044 | ひらがな |
う | U+3046 | 12358 | E3 81 86 | 3046 | 00003046 | ひらがな |
東 | U+6771 | 26481 | E6 9D B1 | 6771 | 00006771 | 漢字 |
京 | U+4EAC | 20140 | E4 BA AC | 4EAC | 00004EAC | 漢字 |
都 | U+90FD | 37117 | E9 83 BD | 90FD | 000090FD | 漢字 |
A | U+41 | 65 | 41 | 0041 | 00000041 | アルファベット |
B | U+42 | 66 | 42 | 0042 | 00000042 | アルファベット |
C | U+43 | 67 | 43 | 0043 | 00000043 | アルファベット |
0 | U+30 | 48 | 30 | 0030 | 00000030 | 数字 |
1 | U+31 | 49 | 31 | 0031 | 00000031 | 数字 |
2 | U+32 | 50 | 32 | 0032 | 00000032 | 数字 |
(NULL) | U+0 | 0 | 00 | 0000 | 00000000 | ヌル:0x00、制御文字、非表示 |
(STX) | U+1 | 1 | 01 | 0001 | 00000001 | 制御文字、非表示 |
(SOT) | U+2 | 2 | 02 | 0002 | 00000002 | 制御文字、非表示 |
(LF) | U+A | 10 | A | 000A | 000000A | 制御文字、非表示、Line Feed 改行 |
(VT) | U+B | 11 | B | 000B | 0000000B | 制御文字、非表示、Vertical Tabulation 垂直タブ |
(FF) | U+C | 12 | C | 000C | 0000000C | 制御文字、非表示、Form Feed 改ページ |
# | U+0023 | 35 | 23 | 0023 | 00000023 | 特殊記号 |
% | U+0025 | 37 | 25 | 0025 | 00000025 | 特殊記号 |
\ | U+005C | 92 | 5C | 005C | 0000005C | 特殊記号、バックスラッシュ:0x5C |
■ 構成
ユニコード表記 | 名称 | 文字数 | 内容 | 備考 |
U+0000〜U+007F | アスキー(ASCII) | 128 | 制御文字、英数字 | 半角英数は0xFF10〜0xFF5Aに設定されている |
U+0080〜U+00FF | Latin1 | 128 | フランス・ドイツ・イタリア・スペイン・ポルトガルなど、 西ヨーロッパ諸国で共通に使われている文字コード |
半角カタカナは0xFF66-0x9Dに設定されている |
U+3041〜U+3096 | ひらがな | あいうえおぁぃぅぇぉ…… | ||
U+30A1〜U+30FA | カタカナ | アイウエオァィゥェォ…… | ||
U+4E00〜U+9FFF | CJK統合漢字 (CJK Unified Indeographs) |
約20,000 | ||
U+3400〜U+4DBF | CJK統合漢字拡張A | 約6,500 | 1999年9月制定 | |
U+20000〜U+2A6DF | CJK統合漢字拡張B | 約42,000 | 2001年3月制定 | |
U+2A700〜U+2B73F | CJK統合漢字拡張C | 4,149 | 2008年12月制定 | |
U+2B740〜U+2B81F | CJK統合漢字拡張D | 222 | 2010年10月制定 | |
U+2B820-U+2CEA1 | CJK統合漢字拡張E | 5,762 | 2014年9月制定 | |
U+F900〜U+FAFF U+2F800〜U+2FA1F |
CJK互換漢字 | CJK統合漢字の中にある文字ではあるが若干 形状の異なる文字などが制定されている (例) 欄(統合漢字 U+F91D) ?(互換漢字 U+6B04) |
互換漢字はIVS (Ideographic Variation Sequence) を統合漢字に追加して区別方向にある |
■ ユニコード と JIS漢字
・JIS漢字はCJK統合漢字にすべて網羅されている。
JIS漢字(JIS X 2013(2002))は、2002年3月に制定されたUnicode 3.2.0から正式対応となった。
・JIS漢字は JIS X 0213で制定されている。JIS X 0213(2004年)には11,233字が規定されている。
JIS X 0213は、非漢字、JIS第1〜第4水準漢字をふくむ上位規格である
制定年 | 第1水準漢字 | 第2水準漢字 | 第3水準漢字 | 第4水準漢字 | 非漢字 | 合計 |
---|---|---|---|---|---|---|
1978年 | 2,965字 | 3,384字 | - | - | 453字 | 6,802字 |
1983年 | 3,388字 | 524字 | 6,877字 | |||
1990年 | 3,390字 | 6,879字 | ||||
1997年 | ||||||
2000年 | 1,249字 | 2,436字 | 1,183字 | 11,223字 | ||
2004年 | 1,259字 | 11,233字 |
・漢字の水準
水準 | 分類 | 内容 |
第1水準漢字 | 使用頻度の高い漢字 | 当用漢字字体表、当用漢字補正案および人名用漢字別表を基本として、 多種の漢字表に共通して出現する文字が選ばれた 都道府県名および市区町村名に使用される漢字は、すべて第1水準に含まれている |
第2水準漢字 | 使用頻度の低い漢字 | |
第3水準漢字 | 日常生活で使われることはほとんどない漢字 | |
第4水準漢字 | 日常生活で使われることはほとんどない漢字 |