2003 CNS GUIDE
copyright
 

5.14 日本語コードの変換

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

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

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

オプション

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


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

次に,`report.tex' (ISO-2022-JPとなっている)を Shift-JISに変換する例を示します.

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

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

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

5.14.2 改行コードを変換する

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

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

また,Windows の改行コードに変換するには`-Lw' オプションを,Machintosh の改行コードに変換するには`-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>
 ← Machintosh の改行コードに変換 
% _