QKCの使い方
How to use QKC


QKCについて

 QKCは、Shift-JIS、EUC、JISの各漢字コードを "超高速" で相互に変換するプログラムです。
 QKCには、Turbo Pascalで書かれたMS-DOS版、後にCに移植されたUNIX版、 Delphiで書かれたWindows 16bit版、Windows 32bit版があります。 本ページでは、コマンドラインインタフェースを採用しているMS-DOS版、 UNIX版について説明します。Windows版については、別のページをご覧ください。
 MS-DOS版はQKCの名の通り他のプログラムの追随を許さない超性能を誇りますが、 UNIX版ではポータビリティを優先したため必ずしもその限りではありません。

 QKCはその変換速度だけではなく、 ファイル中の漢字コードを直接変換できるという点に特徴があります。 つまり、普通のフィルタプログラム(例: nkf)だと
  prompt> nkf -s foo.txt > newfoo.txt
のように別の新しいファイルに出力しなければなりませんが、QKCでは
  prompt> qkc -s foo.txt
のように foo.txt というファイルを直接変換できます。また、
  prompt> qkc -s *.txt *.doc
のようにワイルドカードを使用して、拡張子が .txt.doc のファイルをまとめて変換することもできます。もちろん、 普通のフィルタプログラムと同様の使い方もできるようになっています。
 QKCがこのような仕様になっているために、1個のファイルを変換する際にも、 複数のファイルをまとめて一気に変換する際にも、 快適に使用することができるのです。


主なオプション

 QKCには、主に以下の漢字コード変換のオプションがあります。
-s Shift-JISコードに変換する
-e EUCに変換する
-j JISコードに変換する
 また、以下の改行コード変換のオプションがあります。
-m CR LFにする(MS-DOS、Windows形式)
-u LFにする(UNIX形式)
-ma CRにする(Mac形式)
 オプションの一覧は、以下のように入力して表示することができます。

  prompt> qkc -h


簡単な使い方

◇ MS-DOS、Windowsの形式に変換する

  prompt> qkc -s -m filenames

のようにします。filenamesは変換したいファイル名です。 スペースで区切って1個以上指定できます。ワイルドカードも使用できます。 -s は漢字コードをShift-JISコードに変換、 -m は改行コードをCR LFに変換するという意味です。 改行コードを変換する必要がない場合は、-m は必要ありません。 元のファイルがどのような形式であるかはQKCが自動的に判別しますので、 気にする必要はありません。

◇ UNIXの形式に変換する

  prompt> qkc -e -u filenames

のようにします。filenamesは変換したいファイル名です。 スペースで区切って1個以上指定できます。ワイルドカードも使用できます。 -e は漢字コードをEUCに変換、 -u は改行コードをLFに変換するという意味です。 改行コードを変換する必要がない場合は、-u は必要ありません。 UNIXではJISコードも使われますが、JISコードに変換したい場合は、 -e の部分を -j にします。 元のファイルがどのような形式であるかはQKCが自動的に判別しますので、 気にする必要はありません。

◇ 元のファイルを書き換えたくない場合

 上記の方法だと元のファイルが書き換えられてしまいますが、 別のファイルに出力したい場合は、他のフィルタプログラムと同様に、

  prompt> qkc options org-file > new-file

のようにします。org-file は元のファイル、new-file は出力する新しいファイルです。options-s -m-e -u のようなオプションです。
 また、パイプライン処理でフィルタとして使用することもできます。 この場合は、ファイル名は省略しオプションだけ指定します。


備考

 UNIX版では、複数のオプションを連結して指定することができます。例えば、
  qkc -e -u filenames
とする代わりに
  qkc -eu filenames
とできます。
 また、MS-DOS版では、オプションの指定子にハイフン(-)の他、 スラッシュ(/)も使用できます。オプションの大文字小文字の区別もありません。 例えば、
  qkc -s -m filenames
とする代わりに
  qkc /s /m filenames
あるいは
  QKC /S /M filenames
とできます。

 元のファイルがMS-DOSのテキストファイルの場合、使用したエディタによっては、 ファイルの末尾にEOFコードというものが付加されている場合があります。 このコードは歴史的に存在しているだけで全く不要なものです。このコードは -z オプションを指定することで除去できます。


前に戻る / Back


Kimihiko Sato / sato@sail.t.u-tokyo.ac.jp