Ruby 相当于 JavaScript 的encodeURIComponent,可以产生相同的输出?
您好,是否有与 JavaScript encodeURIComponent
方法等效的 ruby 方法?我正在使用 URI.unescape(str)
但它识别 "£"
(在 encodeURIComponent
之后它变成 "%C2% A3"
) 作为 "?"
符号。有什么解决办法吗?谢谢
Hi is there an equivalent ruby method to JavaScript encodeURIComponent
method? i am using the URI.unescape(str)
but it recognizes the "£"
(after encodeURIComponent
it becomes "%C2%A3"
) as a "?"
sign. any solution's? thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在这里找到:如何在 JavaScript 和 Ruby 中对原始 URL 进行编码/解码以在两者中获得相同的值?
自上次发布以来,URI.escape 已过时。根据建议的评论,现在使用:
ERB::Util.url_encode
或CGI.escape
found here: How do I raw URL encode/decode in JavaScript and Ruby to get the same values in both?
URI.escape is obslete since last I posted. As per suggested comment, now use:
ERB::Util.url_encode
orCGI.escape
我认为最简单的方法是
URI.encode_www_form_component
。I think the simplest way is
URI.encode_www_form_component
.CGI.escape
应正确转义,但空格转义为+
。请注意,
URI.escape
在 Ruby 1.9.2 中已被弃用...有一个很长的讨论 关于 ruby-core 感兴趣的人。
CGI.escape
should escape correctly, except that spaces are escaped as+
.Note that
URI.escape
has been deprecated in Ruby 1.9.2...There is a long discussion on ruby-core for those interested.
URI .escape
URI.escape