logo
 
cpacer

3.12 日本語コードの変換

3.12.1 日本語文字コード

コンピュータ上での日本語の文字コード(エンコーディング方法)はいくつかあり, コンピュータやアプリケーションの種類によって日本語の扱い方が異なります. またFTP([*])やmtools([*])での ファイル転送では自動的に日本語文字コードを変換しないため, 日本語文字コードをnkfコマンドを使って変換する必要があります.

次におもな日本語文字コードをあげます.

3.12.2 日本語文字コードを変換する -- (nkf)

CNS では,一部を除いてISO-2022-JPで日本語を扱うことになっていますが, WindowsやMacintoshなどではShift-JISが利用されています.例えば家のコンピュー タからCNS にファイルを転送する場合など,日本語の取り扱いが異なるコンピュー タ間で日本語テキストをやりとりするには, 日本語文字コードの変換をする必要があります.

フロッピーディスクを使ってコピーする場合などには,文字コードが変換さ れないので,自分で文字コードを変換する必要があります.Emacsではどの 文字コードであっても読み書きできるので,文字コードの種類を気にする必 要はありませんが, LaTeXなどのように特定の文字コードでしか利用できないアプリ ケーションでは文字コードを変換する必要があります. CNS 環境で日本語テキストの文字コード変換を行うには, nkf (Network Kanji code convertion Filter)コマンドを利用します.

% nkf [オプション] [変更前ファイル名] > [変更後ファイル名] <RET>

3.12.2.1 オプション

-e 変換結果をEUC-JPで出力する
-j 変換結果をISO-2022-JPで出力する
-s 変換結果をShift-JISで出力する
-u 変換結果のバッファリングを行わない


nkfコマンドは,入力ファイル名に指定されたファイルについて は,3つのうちどのコードで日本語を扱っているかを自動的に判断するので, どのコードで出力するかをオプションで指定してください.

例えばCNS のEmacsで作成したファイル`cns.tex' (通常はISO-2022-JPとなっている)を フロッピーで持って帰って自宅のコンピュータ (Shift-JIS) で編集するときには次のように入力してください.

% nkf -s cns.tex > dyna.tex <RET>
% _

これで,`cns.tex'が,Shift-JISに変換され,`dyna.tex'という名前で保存されます.また Emacsを利用しても漢字コードの変換ができます([*]).

nkfコマンドを使って文字コードを変換するとき,変更前と変更後の ファイル名を同じにすると, ファイルの中身がなくなってしまうので注意してください.

3.12.3 改行コード -- (tr -d)

Windows やMacintosh で作成したファイルをUNIXで編集する場合には, 次のようにして改行コードを変更します.

% tr -d '\015' < [Windowsのファイル] > [UNIXのファイル] <RET>
% tr -d '\015' '\012' < [Macintoshのファイル] > [UNIXのファイル] <RET>