python - 为什么 urllib.urlencode 将 "25"附加到结果?

标签 python percent-encoding

Python代码是:

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

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

为什么要在字符串末尾添加 25

最佳答案

% 字符在 URL 中具有特殊含义;它用于启动转义序列。查看Percent-encoding article在维基百科上。 literal % 也必须进行编码,%25 是编码后的版本。来自维基百科页面:

Because the percent ("%") character serves as the indicator for percent-encoded octets, it must be percent-encoded as "%25" for that octet to be used as data within a URI.

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

关于python - 为什么 urllib.urlencode 将 "25"附加到结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34002871/

相关文章:

css - 将 css 修改为百分比而不是像素

ios - Swift stringByRemovingPercentEncoding 问题与重音字符像ë

python - sqlalchemy func.json_build_object 抛出错误,无法确定参数的数据类型

javascript - 百分比编码 JavaScript

python - 有效地使用 Numpy 将函数值分配给数组

python - 使用小部件 2 中断小部件 1_ 处理程序 (ipywidgets)

javascript - window.location 中的百分比编码

python - 带空格的 flask url 参数生成带空格的 url

python - 同情错误?即使使用 `evaluate=False` 方程也会自动处理

python - 如何使用循环检查字符串中的所有字符是否大写