質問: rubyでutf8のコード値を文字に変換する方法 utf-8の文字コードのコード値が,以下のように\(バックスラッシュ)+8進数の表記×3バイト分で,記述されています。 (例えば,\343\201\202は「あ」を表す) "\343\201\202\343\201\204\343\201\206" (これは「あいう」) このようなコードの値を文字列にしたものを,実際のutf8の文字に変換するメソッドは無いのでしょうか? 例えば, "\343\201\202\343\201\204\343\201\206".method => "あいう" のようなmethodに相当するメソッドは無いのでしょうか?
回答: rubyの記法だと、"\343\201\202\343\201\204\343\201\206" はそのままで、utf-8の「あいう」ですけど、 puts "\343\201\202\343\201\204\343\201\206" => あいう '\343\201\202\343\201\204\343\201\206'.method ・・・ケース1 を聞いていると思って良いのでしょうか?それとも、 '"\343\201\202\343\201\204\343\201\206"'.method ・・・ケース2 でしょうか? いずれにせよ、#1の方がお書きの通り、evalですがこれは関数的に使います。 ケース2だと、 puts eval('"\343\201\202\343\201\204\343\201\206"') => あいう ケース1だと、下記のように両端に " を補う必要があります。 puts eval('"'+'\343\201\202\343\201\204\343\201\206'+'"') => あいう