文字化け

さて、皆さん、ドラッグ・アンド・ドロップはマウスの作業領域を 確保してからやりましょう。また、確固たる意志を持ってクリックしましょう。 という教訓なども身につけてきていると思いますが、今回は「目標その2 ネットワーク」につきものの、「文字化け」について考えます。

そもそも、文字でも数字でも、コンピュータはそれを表すのに 2進数を 使っています。どの文字をどういう 2進数で表すかというのをコードと 言います。

アルファベットと数字、それにいくつかの記号は ASCII (American standard code for information interchange) で 7bit (7桁) の2進数で決められています。

日本語を表すには漢字をコード化する必要があります。これは JIS で定められています。 JIS コードではひとつの漢字(かなや記号も含む)を 2つの 7bit 2進数で表します。

さて、ASCII も 7bit JIS漢字も 7bit なら、それらをどうやって区別したらいいのでしょうか? それには 3つの方法が提案され、実際に使われています。

メールやニュースでの日本語のやりとりは ISO-2022-JP でやりましょうということが、 RFC1468 で提案されています。 これに従って、メールソフトやニュースリーダが作られていますが、一方で UNIX ワークステーションでは EUC-JP が、 パソコンでは Shift-JIS が使われてきた という長い歴史があります。このため、メールでやりとりするメッセージは たいてい読めますが、 FTP で転送したファイルを読もうとすると読めない場合が 出てきます。これを文字化けということがあります。
実験:情報科学科のワークステーションで作った日本語の入ったファイルを FTP で PC に転送してみよう。メモ帳またはワードパッドで読めるかどうか試してみよう。

コード変換ツール

パソコンでも UNIX でも広く使われているコード変換ツールとして nkf というものが あります。nkf.exe を情報科学科の ftp サーバーから取ってきて、c:\djgpp\bin に インストールしましょう。
実験:先ほどの実験で転送した日本語のファイルを nkf で変換してみよう。 nkf の実行は MS-DOS の中で行う必要があります。
nkf -s hogehoge.txt > sukkiri.txt
のように実行コマンドをタイプします。上の例でできた sukkiri.txt を メモ帳またはワードパッドで読めるかどうか試してみよう。
nkf のオプションで -s を指定すると出力は Shift-JIS になり、 -e を指定すると EUC-JP になります。ですから、パソコンで作ったファイルを ワークステーションに転送して読むには nkf -e を使えばよいことになります。