我怎么原始URL编码⼀解码在JavaScript和Ruby得到两个相同的值

2025-04-06 18:28:43
推荐回答(1个)
回答1:

1. 使用 URI.escape(foo, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
在Ruby中,和 encodeURIComponent(foo);
在javascript中 这两种行为将同样和编码空间为%20。
2. 在URL编码,既+和%20代表一个空格,所以尽管人们可以在空间编码成+和其他成%20,它们都应该快乐地解码要么回一个空间。 JavaScript有编码的东西传输几个不同的函数,最好的一个是encodeURIComponent,其中一个URI的编码。像这样: var name = /* ...get the name from somewhere, perhaps a form field... */;
var queryString = "?name=" + encodeURIComponent(name);