Ruby 相当于 JavaScript 的encodeURIComponent,可以产生相同的输出?

发布于 2024-09-01 20:10:16 字数 232 浏览 9 评论 0原文

您好,是否有与 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

痕至 2024-09-08 20:10:16
URI.escape(foo, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))

在这里找到:如何在 JavaScript 和 Ruby 中对原始 URL 进行编码/解码以在两者中获得相同的值?

自上次发布以来,URI.escape 已过时。根据建议的评论,现在使用:ERB::Util.url_encodeCGI.escape

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

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 or CGI.escape

姐不稀罕 2024-09-08 20:10:16

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

I think the simplest way is URI.encode_www_form_component.

筱果果 2024-09-08 20:10:16

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文