V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wolfdolf
V2EX  ›  程序员

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

  •  
  •   wolfdolf · 2015-03-08 14:54:11 +08:00 · 2533 次点击
    这是一个创建于 3527 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    4 条回复    2015-03-08 15:54:30 +08:00
    Sylv
        1
    Sylv  
       2015-03-08 15:06:45 +08:00
    % 又被 urllib.quote 成了 %25
    yushiro
        2
    yushiro  
       2015-03-08 15:06:58 +08:00 via iPhone
    %25就是%得转码
    wolfdolf
        3
    wolfdolf  
    OP
       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
        4
    JoeShu  
       2015-03-08 15:54:30 +08:00
    >>> urllib.quote("%")
    '%25'

    很明显是进行了两次url编码
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2706 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:28 · PVG 16:28 · LAX 01:28 · JFK 04:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.