next up previous contents index
: 全角文字と¥記号 : 文字コード : アスキーコード   目次   索引

参考: 漢字コードと ISO2022

漢字については, JIS コード, シフトJISコード, EUCコードなどがある. (ねじの大きさと同じでれっきとした JIS 規格がある. 本屋さんへいって JIS の規格書 の情報編をみてみよう. ) JIS コード, EUC コードは 国際的なコード系の規約である, ISO-2022 に準拠している.

シフト JIS コードは MSDOSパーソナルコンピュータや Windows マシン, Macintosh などで広く利用されているが, その設計は多くの言語が混在するなどの状況を考えて設計されておらず, また現在ではあまり利用されない俗にいう ``半角カナ'' が頻繁に利用されていた 1980 年代始めの時代状況をひきづっており, 長い目でみたときには 規格として耐えうる設計とはいえない. したがって国際規格としては認められていない. Webブラウザ等の文字化け現象の一因はシフトJISコードが 広まってしまったことにも一因がある. Windows マシンなどは将来的には シフト JIS を漸進的に捨てて, Unicode を利用しようとしているようにみえる.

日本語 EUCコードは unix 系のコンピュータで おもに使われているコード系であり, 漢字は2バイトつまり16ビットを使用して表現する. ここではEUCコード表の一部をあげる.

  b1a1   院  b1a3   隠  b1a4   韻  b1a5   吋
  b1a6   右  b1a7   宇  b1a8   烏  b1a9   羽
  b1aa   迂  b1ab   雨  b1ac   卯  b1ad   鵜
  b1ae   窺  b1af   丑  b1b0   碓  b1b1   臼
  b1b2   渦  b1b3   嘘  b1b4   唄  b1b5   欝
  b1b6   蔚  b1b7   鰻  b1b8   姥  b1b9   厩
  b1ba   浦  b1bb   瓜  b1bc   閏  b1bd   噂

では国際的な文字コード規格である, ISO 2022 について簡単に説明しよう. ISO-2022 について詳しくは ``安岡孝一, 安岡素子, 文字コードの世界, 東京電機大学出版局, 1999'' を参照. ISO-2022 (拡張版) では 21H から 7EH を GL 領域, A1H から FEH を GR 領域とよぶ. ISO-2022 では, 1BH から始まるエスケープシーケンスと よばれるコードを用いて, GL および GR 領域に各国においてさだめられたコードを はりつける. コードの張り付けには G0, G1, G2, G3 という中間的な経由張り付け領域 を経由しておこなうことになっているが ここではふれない.

たとえば, 1BH, 2DH, 42H, 1BH, 7EH なるエスケープシーケンス は, ISO 8859-2 (通称 ISO Latin-2) を GR 領域にはりつけよという指示である. たとえば, 文字 ö は ISO 8859-2 では F6H なるコードをわりあてられている. 例としてあげると,

1BH, 2DH, 42H, 1BH, 7EH, (ISO 8859-2 を GR へ) F6H, F6H, F6H ( ö が3つ)
は ö が 3 つを意味する.

ISO 2022-JP では, GL には (G0 を経由して) JIS X0208 ローマ字または アスキー文字, または JIS X 0208 の漢字コード (73 年版, 83 年版などあり) をエスケープシーケンスで切替えながら表示する. たとえば

1BH, 24H, 42H (JIS X 0208 83 年版へ), 31H, 39H (厩), 1BH, 28H, 42H (アスキーコードへ), 41H, 42H, 43H
は ``厩ABC'' という文字列となる.

日本語 EUC コードは GL に アスキーコードを, GR に JIS X0208 漢字コードを 常によびだした状態のコードである. GR に JIS X0208 をよびだした場合には, JIS0208 の最上位ビットを 1 にする. したがって, ``厩ABC'' を 日本語 EUC コードで表すと,

B1H, B9H (厩), 41H, 42H, 43H
となる. 実際, 31H は 2 進数では, 0011 0001 なので, 最上位ビットを 1 にすると, 1011 0001 となり, 16 進数では B1H である.

Unix では JIS コード, shift JIS コード, 日本語 EUC コード間の変換を おこなうプログラムとして, nkf などのプログラムがある.

練習 4.5 (05)        次の文章を ISO-2022-jp および シフトJIS コードになおしなさい.
たびにやんでゆめはかれのをかけめぐる. Basho 作.

-------------------------------------------------------
EUC (Extended Unix Coding system) によるひらがな.

a4a2 a4a4 a4a6 a4a8 a4aa 200a 
あ   い   う   え   お 
a4ab a4ad a4af a4b1 a4b3 200a 
か   き   く   け   こ 
a4b5 a4b7 a4b9 a4bb a4bd 200a 
さ   し   す   せ   そ 
a4bf a4c1 a4c4 a4c6 a4c8 200a
た   ち   つ   て   と     
a4ca a4cb a4cc a4cd a4ce 200a 
な   に   ぬ   ね   の 
a4cf a4d2 a4d5 a4d8 a4db 200a 
は   ひ   ふ   へ   ほ 
a4de a4df a4e0 a4e1 a4e2 200a 
ま   み   む   め   も 
a4e4 a4a4 a4e6 a4a8 a4e8 200a
や   い   ゆ   え    よ 
a4e9 a4ea a4eb a4ec a4ed 200a 
ら   り   る   れ   ろ 
a4ef a4a4 a4a6 a4a8 a4aa 200a 
わ   い   う   え   お 
a4f3 a1ab a1a3 0a0a
ん   ゛   。

---------------------------------------------------
SJIS (Shifted JIS Code) によるひらがな.

82a0 82a2 82a4 82a6 82a8 200a 
あ   い   う   え   お 
82a9 82ab 82ad 82af 82b1 200a 
か   き   く   け   こ 
82b3 82b5 82b7 82b9 82bb 200a 
さ   し   す   せ   そ 
82bd 82bf 82c2 82c4 82c6 200a 
た   ち   つ   て   と     
82c8 82c9 82ca 82cb 82cc 200a
な   に   ぬ   ね   の 
82cd 82d0 82d3 82d6 82d9 200a 
は   ひ   ふ   へ   ほ 
82dc 82dd 82de 82df 82e0 200a 
ま   み   む   め   も 8
2e2 82a2 82e4 82a6 82e6 200a 
や   い   ゆ   え    よ 
82e7 82e8 82e9 82ea 82eb 200a
ら   り   る   れ   ろ 
82ed 82a2 82a4 82a6 82a8 200a 
わ   い   う   え   お 
82f1 814a 8142 0a0a 
ん   ゛   。


next up previous contents index
: 全角文字と¥記号 : 文字コード : アスキーコード   目次   索引
Nobuki Takayama 平成15年12月5日