From: Yukihiro Matsumoto Date: 2006-06-22T16:16:10+09:00 Subject: [ruby-list:42445] Re: 日本語でのString#casecmpの利用について まつもと ゆきひろです In message "Re: [ruby-list:42443] 日本語でのString#casecmpの利用について" on Thu, 22 Jun 2006 15:43:03 +0900, Eito Katagiri writes: |Shift_JISでエンコードされたひらがなや漢字を含む文字列に対して、 |String#casecmpを使用するとどのような動作が期待できるのでしょうか? ASCIIの範囲以外では単純なバイトごとの比較をするはずです。 |ruby 1.8.1 (2003-12-25) [i686-linux]をRedHat Linux 9上で、 | | $KCODE = "S" | "\202\320".casecmp("\202\323") | |を実行すると"0"が帰ってきます。"\202\320"と"\202\323"は、それぞれ、Shift_JIS |で、"ひ"と"ふ"になります。 手元のruby 1.8.4 (2006-05-22) [i386-linux]では -1 になります。 1.8.1はずいぶん古いですが、その辺の動作は変わっていないはず なんですが。おかしいなあ。