2004年07月13日(火) [過去の今日]
#2 ruby での文字コード変換
オブジェクト指向って奴がわからないので、オブジェクトしか無いという触れ込みのrubyで簡単なプログラムを作ってみようと愚考。で、ちょうどnkfを使ってシェルスクリプトで作ろうかと思ってたqkc *1 のunicode対応版を、あえてrubyで書こうと決意。
しかし、rubyではNKFとそのラッパーとして動くkocnvがあるわけだが、これがまた古くてunicodeには対応してない。iconvのラッパーもあるのだが、こちらは文字コード判別機能が無い。どうやらunicode対応版のnkfに対応しようとしてはいるみたいなのだが、ruby-listの過去ログを見る限り、1年以上前から話題にのぼってない。膠着してるんかな。
日本語文字コードの判別 というページを見付けたので、このやり方にそってrubyで判別ルーチンを書いてみようかと思ったが、よくよく考えるとそれもバカらしい。そこまでするくらいならEncode/Decodeが完成され、Encode->getEncoding()->name で文字コード判別が可能なperlで書いたほうがよっぽどいい。
あやうくruby本体のソースまで読みはじめるところだったが、これ以上の深みにハマる前に手を引いた方がよさそうだな。やはり他のテーマを探すべきか。うーむ。
(@321)
*1: 作者はNKFの速度がご不満で書いたらしいが、俺はそんなことはどうでもよく、インターフェイスが気に入って使ってた。nkf --unix < hoge.txt >hoge.txt.new; mv hoge.txt.new hoge.txt なんて書くより、 qkc -eu hoge.txt のほうが何倍も便利でしょ? 複数のファイルを変換するときも全部引数から渡してやればいいし。