nkf, qkcとkcc
~愛すべき文字コード変換ソフトたち~

1. はじめに

nkf Network Kanji Filter プロジェクト日本語トップページ - OSDNからnkf-2.1.3.tar.gzを適当なディレクトリにダウンロードした状態で、
展開し、makeしてinstall……という作業を表現したものが以下です。

$ tar -xf nkf-2.1.3.tar.gz
$ cd nkf-2.1.3
$ make
$ make install

これだけですぐにnkfを使うことが出来てしまいます。便利ですねえ。
nkf自体も、入力の文字コードを自動で判別して、(デフォルトでは)UTF-8に変換して出力してくれるので(iconvよりも)便利です。

2. nkfとは

いきなりインストール作業を見せられても困ってしまいますよね。
順番が前後しましたが、nkfとは、ファイルの文字コードを変換してくれるソフトです。
これだけで分かる人には分かって頂けるかと思いますが、もう少し詳しく(実例を交えて)説明すると……。
例えば、Windowsで標準的に用いられている文字コードはCP932(Shift_JISをMicrosoftらが独自に拡張したもの。NotepadではANSIの名でおなじみ)ですが、この形式で記述されたファイルをUTF-8を前提としたCygwin上のソフトウェア(cat, more, less, pg, viなど)で読もうとすると文字化けしてしまいます。
そこで、ファイルとソフトウェアの間に噛ませて文字コードを変換してもらい、Windowsで作成したファイルをCygwin上でも読めるようにする為にnkfを使います。
使い方の例は以下の通りです。

$ nkf example.txt | less

example.txtの文字コードを変換して、lessで表示させます。

$ shutdown | nkf | less

shutdown.exe(system32の中にあります)の出力をパイプでnkfへ送り、人間に読める形で表示します。
さらにパイプでlessへ送れば出力をスクロールして読むことができます。

3. こんなときどうするの

前の章で紹介した使い方の例のうち、前者を行おうとしたときに
nkf
とだけ打ってリターンキーを押してしまうことがあるかもしれません

そんなときは慌てず騒がず
Ctrl + D
を押して窮地を脱してください。(Ctrl+Cでもいいですが)

これは後述するqkcやkccでも同様です

4. qkc

まずは公開元のQKC Home Pageへ行きましょう。
各OS向けにたくさんの.zipアーカイブが並んでいますが、Cygwin上でコンパイルして使用するならダウンロードすべきは
For UNIX
と書かれたところにある
qkcc100.zip
です。

使い方も上記のサイトに詳しく書いてあるのでここでは省略します。

5. kcc

ここで新たに書くべきことは特にないように思われるので、インストール方法のみ示します。

$ wget ftp://ftp.sra.co.jp/pub/os/linux/JE/sources/base/kcc.tar.gz
$ tar xf kcc.tar.gz
$ cd kcc
$ wget https://www.fukatani.org/~hi-lo/blog/archives/src/kcc-2.3-varargs.patch
$ patch kcc-2.3-varargs.patch
$ make
$ make install
$ cp kcc.jman /usr/local/man/ja/man1/kcc.1

パッチを当てなければならない理由は参考文献の二つ目をご覧ください

6. 比較

nkfqkckcciconv
文字コードの自動検出×
Unicode対応××
改行コードの変換××
どこにでもあるか?××
導入のしやすさ-

7. 参考文献

戻る