オンラインテキスト目次

漢字コードの変換

摩訶不思議な漢字コードの世界
mizutani@rsch.tuis.ac.jp
参考書『インターネット時代のコンピュータリテラシー』(水谷正大,共立出版)
目次
漢字コード変換ソフトウエア
UNIX => Windows/Macintosh用への漢字変換
Windows,Macintosh => UNIX用への漢字変換

OSによる差異が問題となるのは,改行コードと漢字コードの取り扱いである. WindowsやMacintoshなどで使われる漢字コードはShift-JISであり, 一方UNIXで使われる漢字コードは主にJISまたはEUCである. 最近では,2バイトの文字コードを世界標準化するためのUNI Codeも提唱されている.

残念ながら,これらの漢字コードは混在して表示することができない. 異なるマシンやシステム間でテキストファイルを扱う場合には、漢字環境にあわせて漢字コードを変換しなけばならない. UNIXのMuleのような高性能エディタでは漢字コードを自動判別して表示することができるので,利用者は特に漢字コードを意識しなくても作業はできるが,プリントしたり異なる環境にファイルを移動したときには漢字コードの問題は避けて通ることができない.

UNIX側で作成したファイルをWindows95やMacintoshのパソコンで正常に漢字が表示されるためには,ファイルをShift-JIS漢字コードに変換する必要がある. こうした漢字コード変換は次の環境下で行なわれている.

パソコン側で行なう.
Windows95ではページブラウザ(笹川泰宏氏),MacintoshではASL KConvert(山田浩太氏)などのフリーウエアを使う.
UNIX側で行う.
nkf(市川至氏)を使う.
ここではUNIX側で変換する例を紹介する.

目次

漢字コード変換ソフトウエア

WindowsやMacintoshで稼動するperlを使って上のように変換するか,以下のフリーウエアを使う.
Windows用
ページブラウザ(笹川泰宏氏)
Macintosh用
ASL KConvert(山田浩太氏)
また,エディタ(Windows版のWZエディタやMuleなど)によってはUNX,Windows95,Macintoshの改行コードを自動判別してくれるものがある.

パソコンで使うツールについては, 窓の杜などインターネット経由で入手するか,インターネットマガジンなどの付録CDROMから入手するとよい.

目次

UNIX => Windows/Macintosh用への漢字変換

UNIXで作成したファイル(file)をShiftJISコードのファイル(SJfile)に変換してWindowsやMacintoshで正常に表示できるようにするには次のようにする.


% nkf -s file > SJfile

変換前の ファイル名「File」と変換したファイル名「SJfile」は同じであってはいけない.

この変換で得られたファイルSJfileを何らかの方法でパソコンに移動する. ここではリダイレクション記号『>』を使っていることに注意する.

次の例は、UNIXにあるファイルreport.texをShift-JISコードに変換してから、そのファイルをフロッピーディスクに書き出す例である. UNIXでのファイル名とフロッピーディスクに書き出されたファイル名は大小文字を別として同じ名前となっている.


% nkf -s report.tex > report
% doswrite -a report REPORT.TEX
% rm report

この例では,最後にディスクにコピーした後の不要なファイルreportを消去している. ファイルの消去には、本当に消しても構わないかを確認してから何度も注してから実行することが大切である. いったん消去したファイルは2度と復旧できないから.

目次

Windows,Macintosh => UNIX用への漢字変換

WindowsやMacintoshで使われているSJfileをUNIXで使われるEUCコードのファイル(Efile)またはJISコードのファイル(Jfile)に変換するには次のようにする.


% nkf -e SJfile > Efile
   または
% nkf -j SJfile > Jfile

変換前の ファイル名「File」と変換したファイル名「Efile / Jfile」は同じであってはいけない.

この変換で得られたファイルSJfileを何らかの方法でパソコンに移動する. ここではリダイレクション記号『>』を使っていることに注意する.

実際には、フロッピーディスクに入れたWindowsやMacintoshで作成したテキストファイルをUNIXにコピーしてから、この変換を行う. 次の例は、フロッピーにあるWindows95・Macintoshで作成したファイルREPORT.TEXをUNIXのホームにコピーしてから、それをEUCコードに変換する例である. フロッピーでのファイル名と最終的に変換されたUNIXのファイル名は大小文字を別として同じ名前となっている.


% doswrite -a REPORT.TEX report
% nkf -e report > report.tex
% rm report

この例では,最後にディスクにコピーした後の不要なファイルreportを消去している. ファイルの消去には、本当に消しても構わないかを確認してから何度も注してから実行することが大切である. いったん消去したファイルは2度と復旧できないから.

目次

オンラインテキスト目次


mizutani@rsch.tuis.ac.jp