2

Python代码是:

user = "aabc" 
password = "yyy12%"
data = urllib.urlencode({"loginname": user, "nloginpwd": password})
print data

结果是:loginname=aabc&nloginpwd=yyy12%25

为什么要25添加到字符串的末尾?

4

2 回答 2

4

%字符在 URL 中具有特殊含义;它用于启动转义序列。请参阅 Wikipedia 上的百分比编码文章。然后也必须对文字 %进行编码,并且%25是编码版本。从维基百科页面:

因为百分号 ( "%") 字符用作百分比编码八位字节的指示符,所以它必须进行百分比编码,"%25"以便该八位字节用作 URI 中的数据。

换句话说,%25是一个编码%字符。

于 2015-11-30T16:08:00.830 回答
3

来自维基百科

因为百分比 ("%") 字符用作百分比编码八位字节的指示符,所以它必须被百分比编码为 "%25",才能将该八位字节用作 URI 中的数据。

简单的例子:

>>> urllib.parse.quote('%')
'%25'
于 2015-11-30T16:08:41.180 回答