SFC CNS GUIDE 2004

4.12 日本語コードの変換 -- (nkf)

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

文字コードはOS やアプリケーションなどによって 異なる場合があります. Emacs ([*]) ではどの文字コードであっても読み書きできるので, 文字コードの種類を気にする必要はありませんが, LaTeXなどのように特定の文字コードでしか利用できないアプリケーションでは ファイルを適切な文字コードに変換する必要があります. 日本語テキストの文字コード変換を行うには, nkfコマンド (Network Kanji Filter) を利用します.

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

4.12.1.1 オプション

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

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

次に, `report.tex' を Shift-JISに変換する例を示します.

% nkf -s report.tex > report-sjis.tex <ENTER>
% _

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

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

4.12.2 改行コードを変換する

Windows やMac OS で作成したファイルをUNIXで編集する場合は, ファイルの改行コード をUNIXの改行コードに 変換する必要があります. nkfコマンドに `-Lu' オプションを 指定することによって,UNIXの改行コードに変換します.

nkf -Lu [変換したいファイル名] > [出力先のファイル名]

また,Windows の改行コードに変換するには `-Lw' オプションを,Mac OS の改行コードに変換するには `-Lm' オプションを指定します.

% nkf -Lu report.tex > report-unix.tex <ENTER>  ← UNIX の改行コードに変換 
% nkf -Lw report.tex > report-win.tex <ENTER>   ← Windows の改行コードに変換 
% nkf -Lm report.tex > report-mac.tex <ENTER>   ← Macintosh の改行コードに変換 
% _
Valid CSS! Valid HTML 4.01!