nkf

テキストデータの文字コード変換を行います。


書式

nkf [オプション ・・・] ファイル名 [ファイル名2 ・・・]

▲PageTop

オプション

オプション名 説明
-j JISコードで出力します。
-e EUCコードで出力します。
-s Shift_JISコードで出力します。
-w,-w80 UTF8コード(BOMを記述しません。UTF8の場合、BOMはファイルがUTFで記述されていることを明確にするために使用されます。)で出力します
-w8 UTF8コード(BOMを記述します。)で出力します
-w16,-w16B0 ビッグエンディアンのUFT16コード(BOMを記述しません。UTF16の場合、BOMはファイルがビッグエンディアンであるかリトルエンディアンであるかを識別するために使用されます。)で出力します。
-w16B ビッグエンディアンのUFT16コード(BOMを記述します。)で出力します。
-w16L リトルエンディアンのUFT16コード(BOMを記述しません。)で出力します。
-w16L0 リトルエンディアンのUFT16コード(BOMを記述します。)で出力します。
-mB MIME(規格上ASCIIコードしか使えない電子メールで他の文字コードのテキストファイルやバイナリファイルを扱うための仕組みです。) Base64(データを印字可能な64種類の英数文字へ変換する方式です。)のデータを解読します。
-mQ MIME quoted(ASCIIコードに存在しない文字のみ「=??」といった形に変換します。「??」には16進数2桁の値が入ります。)のデータを解読します。
-mS 解読の際、MIMEを厳しくチェックします。
-mN 解読の際、MIMEのチェックを簡略化します。
-m0 MIMEの解読を行いません。
-M ヘッダ形式のMIMEに変換します。
-MB MIME Base64に変換します。
-MQ MIME quotedに変換します。
-J 入力したデータをISO-2022-JPと仮定して処理を行います。
-E 入力したデータをEUC-JPと仮定して処理を行います。
-S 入力したデータをShiftJisと仮定して処理を行います。
-W 入力したデータをUTF-8と仮定して処理を行います。
-W8 入力したデータをUTF-8と仮定して処理を行います。
-W16 入力したデータをリトルエンディアンのUTF-16と仮定して処理を行います。
-W16B 入力したデータをビッグエンディアンのUTF-16と仮定して処理を行います。
-W16L 入力したデータをリトルエンディアンのUTF-16と仮定して処理を行います。
-x 半角カナを全角カナに変換しません。
-X 半角カナを全角カナに変換します。
-B 入力したデータを破損したJISコードのデータと仮定して処理を行います。破損によりESCコードが消失したものとして処理します。
-B1 「ESC+(」「ESC+$」の後の文字コードを無視します。
-B2 改行の後は強制的にASCIIコードに戻します。
-f[文字数[-マージン]] 一行あたりの文字数を指定した文字数にし、指定されただけマージンを取ります。
-Z -Z0 JISX0208コードのアルファベットをASCIIコードに変換します。
-Z1 JISX0208コードの全角スペースをASCIIコードのスペース1文字分に変換します。
-Z2 JISX0208コードの全角スペースをASCIIコードのスペース2文字分に変換します。
-Z3 「>」「<」「」「&」を「<」「>」「"」「&」に変換します。
-b 出力時にバッファリングを行います。
-u 出力時にバッファリングを行いません。
-t 何もしません。
-I ISO-2022-JP以外の文字コードの感じが存在した場合「==」に変換します。
-i[ESCコード(@又はB)] JIS漢字を示すESCコードを指定します。
-o[ESCコード(B、J、Hのどれか)] 1バイト英数文字を示すESCコードを指定します。
-r ROT13/47の変換を行います。
-g 識別した文字コードを表示します。
-v バージョン情報を表示します。
-T テキストモードで出力を行います。(MS-DOSでのみ有効です。)
-l 「0x80」~「0xfe」を ISO-8859-1 (Latin-1)コードの文字として扱います。
-O ファイルに処理結果を出力します。
-Lu,-d 改行コードを「LF」(UNIXの改行コード)で出力します。
-Lw,-c 改行コードを「CR/LF」(Windowsの改行コード)で出力します。
-Lm 改行コードを「CR」(macの改行コード)で出力します。
--ic=入力文字コード,
--oc=出力文字コード
入・出力に使用する文字コードを指定します。指定可能な文字コードを以下に示します。
  • ISO-2022-JP
  • ISO-2022-JP-1
  • ISO-2022-JP-3
  • EUC-JP
  • EUC-JISX0213
  • EUC-JIS-2004
  • eucJP-ascii
  • eucJP-ms
  • CP51932
  • Shift_JIS
  • Shift_JISX0213
  • Shift_JIS-2004
  • CP932
  • UTF-8 UTF-8N
  • UTF-8-BOM
  • UTF8-MAC
  • UTF-16 UTF-16BE-BOM
  • UTF-16BE
  • UTF
--fj, --unix, --mac, --msdos, --windows 指定したシステムに合致した文字コードに変換します。
--jis, --euc, --sjis, --mime, --base64 指定した文字コードで出力します。
--hirakana, --katakana ひらがな、カタカナに変換します。
--fb-{skip, html, xml, perl, java, subchar 変換できなかった文字の扱い方を指定します。
--prefix=escape ESCコード 文字1 [文字2 ・・・] 指定した文字の前に指定したESCコードを挿入します。
--no-cp932ext CP932の拡張文字を使用しません。
--no-best-fit-chars Unicodeからの変換の際、Unicodeへ変換しなおすことが出来ないものは変換しません。
--cap-input, --url-input %に続く16進数の値を文字に変換します。
--numchar-input Unicode文字参照を変換します。
--in-place[=文字列], --overwrite[=文字列] 元データを収めたファイルを出力結果で上書きします。
--guess 識別した文字コードを表示します。
--help 使用方法を表示します。
--version バージョン情報を表示します。
-- オプションの記述の終了を宣言します。これ以降に-で始まる文字列があっても、オプションとして解釈されません。このオプションを使用することにより「-SampleText01.txt」等の「-」で始まるファイルを指定することが出来ます。
--exec-in コマンド名 指定したコマンドを実行し、その出力をnkfで処理します。
--exec-out コマンド名 nkfで処理した結果を指定したコマンドに渡して実行します。

▲PageTop

実行例

ファイル(「SampleText16.txt」があるものとします。)を読み込み、「Shift_JISコード」に変換し、別ファイル「SampleText17.txt」に出力します。

  1. ファイル「SampleText16.txt」の文字コードを確認します。
  2. ファイル「SampleText16.txt」の文字コードを「EUC-JP」から「ShiftJIS」に変換し、ファイル「SampleText17.txt」へ出力します。
  3. ファイル「SampleText17.txt」の文字コードを確認します。

実行結果

$ nkf -guess SampleText16.txt [RET]
EUC-JP
$ nkf -s SampleText16.txt > SampleText17.txt [RET]
$ nkf -guess SampleText17.txt [RET]
Shift_JIS
        

▲PageTop