From: Yukihiro Matsumoto Date: 2008-01-18T07:34:36+09:00 Subject: [ruby-dev:33163] Re: eval(str.dump)==str まつもと ゆきひろです In message "Re: [ruby-dev:33145] Re: eval(str.dump)==str" on Thu, 17 Jan 2008 12:05:28 +0900, Kazuhiro NISHIYAMA writes: |そういう仕様なら、dumpで返ってくる文字列がASCII-8BITに |なっているので、evalの問題ではなさそうです。 そうですね。昨日、空港で飛行機を待ってる時に気がつきました。 |dumpの方は、dumpで返ってくる文字列がdump前と同じencodingに |なっても、ascii onlyだから問題なさそうな気がします。 問題は元のエンコーディングがASCIIコンパチでない場合(UTF-16と か)ですね。で、ちょっとひどいですが、asciicompatでない場合に はdump文字列の末尾に「.force_encoding("UTF-16BE")」をつけるこ とにしました。UTF-16を使う人がたくさん出てきて、この醜い回避 策に気がつく人が増えるまでにはなんか別の手を考えようと思いま す。dump文字列のインスタンス変数に保存するかなあ。 まつもと ゆきひろ /:|)