Ruby相当于生成相同输出的JavaScript的encodeURIComponent?

时间:2010-05-18 14:50:11

标签: javascript ruby escaping encode

你好,JavaScript encodeURIComponent方法有一个等效的ruby方法吗?我正在使用URI.unescape(str),但它会将"£"encodeURIComponent变为"%C2%A3"后)识别为"?"。任何解决方案?感谢

4 个答案:

答案 0 :(得分:30)

URI.escape(foo, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))

在此处找到:How do I raw URL encode/decode in JavaScript and Ruby to get the same values in both?

答案 1 :(得分:8)

CGI.escape应正确转义,但空格转义为+

请注意,在Ruby 1.9.2中已弃用URI.escape ...

对于那些感兴趣的人,我们会进行长时间的讨论on ruby-core

答案 2 :(得分:8)

我认为最简单的方法是URI.encode_www_form_component

答案 3 :(得分:-1)