gpt4 book ai didi

javascript - 如何在 JavaScript 和 Ruby 中对原始 URL 进行编码/解码以在两者中获得相同的值?

转载 作者:可可西里 更新时间:2023-11-01 02:15:14 26 4
gpt4 key购买 nike

我正在开发一个 Web 应用程序,我必须在代码的 JavaScript 端和 Ruby 后端对字符串进行编码和解码。唯一的问题是 JavaScript 和 Ruby 的转义方法略有不同。在 JavaScript 中,"" 被视为 "%20",但在 ruby​​ 中,"" 被编码为 "+".

有什么办法可以解决吗?另一种在原始 URL 编码中对字符串进行编码的 Ruby 方法?

经过一些 Selenium 测试后,我注意到由于某种原因,URI.unescape 混淆了 "£""?" .如果我在 JavaScript 中使用 encodeURIComponent("£"); 然后在 Ruby 中使用 URI.unescape("%C2%A3") 这是我们编码时得到的值"£" 符号,我得到返回的 "?" 符号。有什么解决办法吗?

最佳答案

使用

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

在 ruby 中,和

encodeURIComponent(foo); 

在 JavaScript 中

这两者的行为相同,并将空格编码为 %20。

关于javascript - 如何在 JavaScript 和 Ruby 中对原始 URL 进行编码/解码以在两者中获得相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2834034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com