我正在尝试使用 Ruby 1.9.3pl194转义包含用于 JSON和 logfile的非 ASCII Unicode 字符的字符串。消耗 JSON 的东西不能处理非 ASCII,所以我需要生成一个转义版本,但是......
a = "Abc\u00eddef"
puts a
puts a.inspect
产生:
Abcídef
"Abc\u00EDdef"
请注意,第二个输出包含不需要的双引号,我不想要引号,因为我只想将字符串写入Abc\u00eddef
文件;它不仅仅用于 JSON 字符串。
如果我尝试使用,也会发生同样的事情ActionSupport::JSON.decode(b)
我知道我能做到
puts a.inspect[1..-2]
但这有点难看,肯定有一种方法可以做到这一点而不必去掉引号?
它是普通的旧 Ruby,所以我没有.html_safe
在 rails 中使用它(不确定这是否可行)。