FreeBSD QandA 504
Q. 半角カナを全角カナに変換する FreeBSD 上のツールってありますか?
A. nkf、ack、kc などがあります。それぞれオプションをつけることにより変
換のコードを変えることができます。詳しくは、マニュアルを読んで下さい。
これらのツールは、たいてい、入力のコードを自動的に判定し、指定したコー
ドに変換し出力してくれてとても便利です。しかし、ときどき、入力コードの
判定に失敗することがあるので注意しましょう。この場合、出力におかしなコー
ドが混入して文字が化けたりします。入力ファイルのコードが判っているなら
ば、それを明示的に指定するとよりよい結果が得られるようです。
たとえば、nkf で質問の操作をしてみましょう。半角カナのあるファイルが
SJIS だと判っていて、出力を EUC にしたければ、
nkf -Se in > out
のようになります。オプションの "-S" が入力が SJIS であることを、"-e"
が出力を EUC にすることを指定しています。
特に指定しない限り nkf は半角カナ (X0201) を全角カナ (X0208) に変換し
ます。
上記で言っている「半角カナ」は、JIS X0201 で規定されている、1 バイトで
表現されるカタカナのことです。NEC PC-9801/PC-9821 などは、メーカ独自拡
張文字として 2 バイトで表現される半角カタカナのフォントが漢字フォント
ROM に入っていますが、このような文字は nkf の処理対象ではありません。
また、メーカ独自拡張文字は利用すべきではありません。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。