IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Python的url编码问题(ansi,utf8,gbk)

    admin发表于 2016-07-13 10:37:41
    love 0

    Python的url编码问题(ansi,utf8,gbk)。

    urllib包提供了对url的编码和解码,示例如下:

    >>> import urllib  
    >>> data = '杭州' 
    >>> print data 
    杭州
    
    >>> data  
    '\xe6\x9d\xad\xe5\xb7\x9e'  
    >>> urllib.quote(data)  
    '%E6%9D%AD%E5%B7%9E' 
    
    >>> urllib.unquote('%E6%9D%AD%E5%B7%9E')  
    '\xe6\x9d\xad\xe5\xb7\x9e'  
    >>> print urllib.unquote('%E6%9D%AD%E5%B7%9E')

    “丽江”单词,细心的同学会发现贴吧url中出现的是%C0%F6%BD%AD,而非'%E4%B8%BD%E6%B1%9F',其实是编码问题。百度的是gbk(部分叫ANSI,导致C/C++程序员之家走了很多弯路,不过现在百度已经支持UTF8了),其他的一般网站比如google就是utf8的,示例如下:

    >>> import sys,urllib   
    >>> s = '杭州' 
    >>> urllib.quote(s.decode(sys.stdin.encoding).encode('gbk'))  
    %BA%BC%D6%DD  
    >>> urllib.quote(s.decode(sys.stdin.encoding).encode('utf8'))  
    '%E6%9D%AD%E5%B7%9E'

    参考资料:互联网等



沪ICP备19023445号-2号
友情链接