原です。

> 後藤です. 

> 前に投稿した長ったらしい urllib の中で each_byte を使ったのは
> 日本語をバイトで扱っているというのを明示したかったからです. 

ああ、なるほど。


> 原さんとかが書かれた URL.quote を見て, 正規表現は String を
> バイト列と見ているというのはちょっと違和感ありました. 

ruby はちゃんと正規表現は String を(日本語)文字列として見て
いるはずです。EUC と SJIS に関しては。ですから、この前のわた
なべさんと私の URL.quote は $KCODE = "n"としないとまずかった
ですね。


#いまだに $KCODE ってマニュアルにないですね。Thread 対応待ち?


ところで現在正規表現についての仕様ははっきり明文化されていな
いわけですが、それにしてもちょっとバグらしきものがあるみたい
です。

umi = "\x8aC"
p umi               # => "海"(SJIS)

$KCODE = "n"
p umi =~ /C/        # => 1       (1)
p umi =~ /[^C]/     # => 0       (2)

$KCODE = "s"
p umi =~ /C/        # => FALSE   (3)
p umi =~ /[^C]/     # => FALSE   (4)

(1), (2), (3) はいいんですが、(4) は 0 ですよね。


もう一つ。rbgw で、

----^ test.rb
omote = "表"
----$ test.rb

bash# ruby -v
ruby - version 1.0-970324 (i386-cygwin32)
bash# ruby test.rb
test.rb:1: unterminated string meets end of file
test.rb:1: parse error

となってしまいました。rbdj はOKです。