■ ユニコード
                                                    

 

■ ユニコード 概要

<特徴>
 ・一つの文字に対して、全世界で重複のない、ユニークな文字コードが設定されている。

<歴史・現在>
    ・ ゼロックス、マイクロソフト、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水準漢字  日常生活で使われることはほとんどない漢字