将转义的unicode字符串转换为ruby 1.8中的字符

Dan*_*ier 6 ruby unicode utf-8

我必须阅读一些包含以下内容的文本文件:

\ u201C十字架上的Pedlar Lady\u201D

在ruby 1.9终端中,当我用这个内容创建一个字符串时:

ruby-1.9.1-p378 > "\u2714 \u2714 my great string \u2714 \u2714"
 => "? ? my great string ? ?" 
Run Code Online (Sandbox Code Playgroud)

在ruby 1.8中,我没有将unicode代码转换为它们的字符:

ree-1.8.7-2010.01 > "\u2714 \u2714 my great string \u2714 \u2714"
 => "u2714 u2714 my great string u2714 u2714" 
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法在Ruby 1.8中返回正确的字符串字符?

Dav*_*ave 6

对于那些偶然发现这个问题的人(比如我)寻找答案,在Ruby 1.8中执行此操作的等效方法是:

["2714".to_i(16)].pack("U*")
Run Code Online (Sandbox Code Playgroud)


Mar*_*wis 5

最简单的方法可能是使用JSON解析器,因为JSON碰巧使用这种格式:

irb(main):014:0> JSON '["\u2714 \u2714 my great string \u2714 \u2714"]'
=> ["\342\234\224 \342\234\224 my great string \342\234\224 \342\234\224"]
Run Code Online (Sandbox Code Playgroud)