zoukankan      html  css  js  c++  java
  • python urllib编码

    >>> import urllib

    >>> data = '丽江'
    >>> print data
    丽江
    >>> data
    '\xe4\xb8\xbd\xe6\xb1\x9f'
    >>> urllib.quote(data)
    '%E4%B8%BD%E6%B1%9F'

    那我们想转回去呢?

    >>> urllib.unquote('%E4%B8%BD%E6%B1%9F')
    '\xe4\xb8\xbd\xe6\xb1\x9f'
    >>> print urllib.unquote('%E4%B8%BD%E6%B1%9F')
    丽江

    不同的编码格式对urllib的结果页是有影响的,百度的是gbk,其他的一般网站比如google就是utf8的。所以可以用下列语句实现。

    >>> import sys,urllib 
    >>> s = '丽江'
    >>> urllib.quote(s.decode(sys.stdin.encoding).encode('gbk'))
    '%C0%F6%BD%AD'
    >>> urllib.quote(s.decode(sys.stdin.encoding).encode('utf8'))
    '%E4%B8%BD%E6%B1%9F'
    >>>

    这里的 sys.stdin.encoding 是读取当前环境的编码,这样写的话可移植性高,winnt和xunix都可以用。当然你如果看不惯,也可以替换为自己的环境编码如utf8等。

  • 相关阅读:
    装饰器的加载顺序
    生成器
    迭代器
    有参装饰器与装饰器补充
    无参装饰器
    闭包函数
    函数对象与函数嵌套
    名称空间与作用域
    函数参数补充
    函数参数的使用
  • 原文地址:https://www.cnblogs.com/xuxm2007/p/1878507.html
Copyright © 2011-2022 走看看