url 中的查询串和 gbk 转换值为何不同,迷惑了

2015-03-08 14:54:11 +08:00
 wolfdolf

urllib.quote(a.decode('utf8').encode('gb2312'))

某汉字,用python可以获取对应url串为 %B0%B2%C8%AB

但是到了url中查询串怎么是
%25B0%25B2%25C8%25AB

它的查询用的应该是gbk转码过来的啊,可是为何每个%号之后多了个数字?

2543 次点击
所在节点    程序员
4 条回复
Sylv
2015-03-08 15:06:45 +08:00
% 又被 urllib.quote 成了 %25
yushiro
2015-03-08 15:06:58 +08:00
%25就是%得转码
wolfdolf
2015-03-08 15:26:36 +08:00
@yushiro
In [17]: urllib.quote(a.decode('utf8').encode('gbk'))
Out[17]: '%B0%B2%C8%AB'

python转码不会形成%25,我迷惑的是,为何某网站有%25在查询串里面
JoeShu
2015-03-08 15:54:30 +08:00
>>> urllib.quote("%")
'%25'

很明显是进行了两次url编码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/175327

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX