文字コードを変換するツール。
標準入力を文字コードを変換しながらそのまま標準出力に吐き出す。引数にファイル名を指定すれば、標準入力ではなくそのファイルを読み込む。
例えば EUC-JP を UTF-8 に変換するには
$ cat ファイル名 | nkf -Ew
または
$ nkf -Ew ファイル名
nkf は Network Kanji Filter の意味らしい。
Ubuntu, CentOSではnkfというパッケージに入っている。(Ubuntu 15.10, 15.10, CentOS 6.4, 7.2 で確認)
$ sudo yum install nkf## または$ sudo apt-get install nkf
以下のオプションで、大文字が入力の文字コード、小文字が出力の文字コードを表す。
-J
,-j
-S
,-s
-E
,-e
-W
,-w
-Lu
-Lw
-Lm
-x
-g
または--guess
--overwrite
文字コードが不明で、判別させるには、-g
または--guess
を使う。ついでに改行コードも判別してくれる。
nkf --guess foo.txt# パイプでの使用例cat foo.txt | nkf --guess
nkf
コマンドでもBASE64ができるみたいで、base64
コマンドのページ参照。ただ、base64
コマンドのほうが多くの環境に入っているので、nkf
をわざわざ使う理由はないかもしれない。