什么是使用Ruby的JavaScript unescape等价物?

时间:2010-05-20 15:22:06

标签: javascript ruby escaping

我想取消以下字符串:

'\u00020\u0002Standard\u00023\u0002Doe John\u000169\u0002\u0010\u0002Lorem\u0002\u0011\u0002Ipsum\u0002\u0014\u0002'

Javascript的unescape函数运行正常,但是如何在Ruby中对其进行解析呢?

如果我unescape上面的字符串,则会产生“0Standard3Doe John69LoremIpsum”。

2 个答案:

答案 0 :(得分:0)

在我看来,您使用的是 Ruby 1.8 ,因此编码支持较差。

在Ruby 1.8中,jcode库可以here找到一些可以帮助你的第三方库。 Ruby 1.9 对编码有更好的支持,实际上这是此版本的主要变化之一。

如果您可以完全控制您的应用程序,那么您可以直接在其源代码中编码您的字符串,而无需使用uf-8类型的utf-8实体。通过这种方式,您将避免任何正则表达式解析,并且CGI.unescapeHTML将起作用。

为了参考并更好地理解ruby JEG2系列中的unicode支持,将为您提供所需的一切。

答案 1 :(得分:0)

这可以帮助https://github.com/brianmario/escape_utils

转义

javascript = `curl -s http://code.jquery.com/jquery-1.4.2.js`
escaped_javascript = EscapeUtils.escape_javascript(javascript)
EscapeUtils.unescape_javascript(escaped_javascript) == javascript # => true