From: Kouhei Sutou Date: 2008-02-07T21:03:56+09:00 Subject: [ruby-dev:33641] Re: encdet.rb 須藤です。 In <87hcglqovl.fsf@fsij.org> "[ruby-dev:33628] encdet.rb" on Thu, 7 Feb 2008 15:09:11 +0900, Tanaka Akira wrote: > 前から考えていたのですが、ファイル先頭の magic comment や > BOM を調べて encoding を設定してくれるライブラリを添付するの > はどうでしょうか。 > > % head -1 lib/rexml/rexml.rb > # -*- encoding: utf-8 -*- > % ./ruby -Ilib -rencdet -e ' > EncDet.open("lib/rexml/rexml.rb") {|f| > p f.external_encoding > }' > # > > というように検出できます。 EncDetというように名前を短くして使いやすく(読みづらく)する くらいよく使うようなライブラリとは思えないので、 Encoding::Detectorくらいの方がよい気がします。 また、EncDet.detect_encodingは同じような単語が2回ずつ現れてい て、EncDetとしているわりに名前が冗長なのが変な感じがします。 Encoding::Detector.detectくらいではどうでしょうか。 ついでに、EncDet.openよりもIO#openのmodeで"r:detect"と指定で きた方が使いやすい気がします。