为什么使用%2526
代替%26
来编码&
?
我调用外部网站的网址,当我将&
编码为%2526
时,参数会正确传递,但当我只使用%26
时,它们不是。
答案 0 :(得分:18)
如果您对&符号进行网址编码,则会获得%26
。如果您对%26
进行了网址编码,则会获得%2526
。因此,它被网址编码两次。
答案 1 :(得分:5)
%25
是字符百分比,因此%2526
URLDecoded会导致
%26
哪个URLDecoded结果
&
出于某种原因,您所做的调用似乎需要双倍的编码输入。如果不了解你正在做什么,就不可能知道为什么,但我想一切都井然有序。
答案 2 :(得分:1)
显然,它会在此过程中被解码两次,首先从%2526
到%26
,然后从%26
再到&
。
你不应该过久地谈论原因;如果这样可行,就这样使用它。
答案 3 :(得分:0)
&
确实编码为%26
。
您可以测试它创建HTML文件,在浏览器中打开它,输入您需要测试的符号并在浏览器中查看生成的URL:
<form>
<input type='text' name='qwe'>
<input type='submit'>
</form>
答案 4 :(得分:0)
如果在返回URL或另一个查询字符串的值中使用URL,则应对保留字符和排除字符进行双重编码。 &安培;单编码为%26,双编码为%2526。