木村です。
おそらく、ruby-list 45609 〜 45622 あたりで話題になっているのと同一原因では
なかろうかと思います。
On Fri, 3 Jul 2009 08:59:18 +0900
eiichi_maekawa@... wrote:
> るびま 標準添付ライブラリ紹介 第3回のサンプル実行してみましたが、
>
> 【EUC-JP で表された 'Hello, るびま!'】の実行結果は、
> 2ではなく、5となりました。どちらが、正しいのでしょうか。教えてください。
(略)
> # EUC-JP で表された 'Hello, るびま!'
> str_eucjp =
> "\x48\x65\x6c\x6c\x6f\x2c\x20\xa4\xeb\xa4\xd3\xa4\xde\xa1\xaa"
>
> puts Kconv.guess(str_eucjp) # => 2 == Kconv::EUC;;結果は、5となる
>
(略)
> 今使用しているRubyは、
> C:\Apache2.2\htdocs\ruby_prg\em_ruby>ruby -v
> ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
> O/Sは、windows_xpです。
つまり、本来は2とならなければならないはずの判定結果が 5になってしまっている
ということです。
使用する文字列を誤判定しないようなものにすればただしく 2 が返ってきます。
irb(main):016:0> Kconv.guess("\xb5\xfe\xc5\xd4\xb9\xb9\xd4")
=> 2
--
木村浩一