我正在尝试编写一个Java类来登录到某个网站。在POST登录请求中发送的数据为
user%5Blogin%5D=username&user%5Bpassword%5D=123456
我很好奇key 用户登录中的%5B
和%5D
是什么意思。
如何解码这些数据?
发布于 2012-04-02 00:30:43
根据here上的回答:str='foo%20%5B12%5D'
编码foo [12]
%20 is space
%22 is quotes
%5B is '['
and %5D is ']'
这称为percent encoding,用于对url参数值中的特殊字符进行编码。
编辑顺便说一下,当我读https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURI#Description的时候,我突然想到为什么这么多人都在做同样的搜索。请参阅页面底部的注释:
还注意到,如果一个人希望遵循URL的最新RFC3986,将方括号保留(用于IPv6),从而在形成可能是URL的一部分(如主机)的内容时不进行编码,下面的方法可能会有所帮助。
function fixedEncodeURI (str) {
return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
}
希望这能帮助人们在遇到这个问题时解决他们的问题。
发布于 2012-04-02 00:28:06
它们代表[
和]
。这种编码称为"URL encoding"。
发布于 2012-04-02 01:47:10
在URL编码时,[]
会被%5B%5D
替换。
https://stackoverflow.com/questions/9966053
复制相似问题