next up previous
Next: 3.5 レポート課題3 Up: 3 テキスト・ファイル Previous: 3.3 ASCII コード表を作ろう

3.4 日本語の文字コード

日本語の文字コードは JIS (日本工業規格) で決められている。日本語にお ける文字数が多いため8、1 文字を表すのに 16 ビットを用いる。

例えば「桂」という文字の JIS コードは 0x374b である。 mule で C-$\;\widehat{}$ とすると、

記号入力:  0.JIS入力  1.記号  2.英数字  3.ひらがな  4.カタカナ  5.ギリシャ文字
というメニューが現れる。0 を選択し ``374b'' と入力すると「桂」という文 字が入力できる。

しかし、ファイルの中に 0x37, 0x4b というバイト列をそのまま入れたので は、ASCII の '7', 'K' と区別がつかない。両者を混在させるには何らかの工 夫が必要になる。

情報科学センターのワークステーションでは日本語 EUCという 文字コードを用いている。
[
l]kanji.txt
桂田 祐史

というファイルを od -cx してみると、「桂」が 0xb7, 0xcb という 2 バイトで表現されていることが分かる。これは JIS コードを上下 8 ビットに それぞれ 0x80 を加えたものになっている:

\begin{displaymath}
{\tt0x37}+{\tt0x80}={\tt0xb7},\quad
{\tt0x4b}+{\tt0x80}={\tt0xcb}
\end{displaymath}

(もともと ASCII で用いている数値は 0x7f までで、0x80 以上の数値は使わ れずに空いている。その部分に JIS コード表の文字を埋め込んだことになっ ている。)

日本語 EUC 以外にも、ASCII の文字と日本語の文字を混在を可能にした文 字コードはいくつかある。

通称「JIS 漢字」
通信により情報を交換するために作られた国際的な規格に従ったもの。文字 コードを切り替えるために、目印となる特別な文字列を用いる。電子メイルな どで通信をするときに最もよく使われる。実は kterm では JIS 漢字のデータ も普通に表示できる。
tango21% cat kanji.txt.jis
桂田 祐史
tango21% od -cx kanji.txt.jis
0000000 033   $   B   7   K   E   D 033   (   B     033   $   B   M   4
            1b24    4237    4b45    441b    2842    201b    2442    4d34
0000020   ;   K 033   (   B  \n
            3b4b    1b28    420a
0000026
通称「MS 漢字 (シフトジス)」
パソコンの世界のために作られた規格 (Windows, Mac などで採用されている)。 「半角カタカナ」も効率的に埋め込まれている。 情報科学センターのワークステーションの通常の設定では直接表示できない。
tango21% cat kanji.txt.ms
jc S  (いわゆる文字化け)
tango21% od -cx kanji.txt.ms 
0000000 214   j 223   c     227   S 216   j  \r  \n
            8c6a    9363    2097    538e    6a0d    0a00
0000013
tango21% 


next up previous
Next: 3.5 レポート課題3 Up: 3 テキスト・ファイル Previous: 3.3 ASCII コード表を作ろう
Masashi Katsurada
平成20年10月18日