python url编码解码_使用Python进行URL编码/解码

url编码“原始” unicode确实没有任何意义。 首先,您需要做的是unquote(),这样您就有一个已知的字节编码,然后再进行decode()。

输出不是很漂亮,但是应该是正确的uri编码。

>>> s = u'1234567890-/:;()$&@".,?!\'[]{}#%^*+=_\|~<>\u20ac\xa3\xa5\u2022.,?!\''

>>> urllib2.quote(s.encode("utf8"))

'1234567890-/%3A%3B%28%29%24%26%40%22.%2C%3F%21%27%5B%5D%7B%7D%23%25%5E%2A%2B%3D_%5C%7C%7E%3C%3E%E2%82%AC%C2%A3%C2%A5%E2%80%A2.%2C%3F%21%27'

请记住,如果您要调试或进行其他操作,则将需要unquote()和decode()才能正确打印出来。

>>> print urllib2.unquote(urllib2.quote(s.encode("utf8")))

1234567890-/:;()$&@".,?!'[]{}#%^*+=_\|~<>€£¥•.,?!'

>>> # oops, nasty  means we've got a utf8 byte stream being treated as an ascii stream

>>> print urllib2.unquote(urllib2.quote(s.encode("utf8"))).decode("utf8")

1234567890-/:;()$&@".,?!'[]{}#%^*+=_\|~<>€£¥•.,?!'

实际上,这就是另一个答案中提到的Django函数的功能。

功能 django.utils.http.urlquote()和 django.utils.http.urlquote_plus()是 版本的Python标准 urllib.quote()和urllib.quote_plus() 适用于非ASCII字符。 (数据先转换为UTF-8 编码。)

如果要应用其他任何引号或编码,请不要打乱。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Python进行URL解码,可以使用标准库中的urllib.parse.unquote()方法。示例代码如下: ```python from urllib.parse import unquote url = 'https://www.google.com/search?q=%E4%B8%AD%E6%96%87' print(unquote(url)) ``` 输出结果为: ```text https://www.google.com/search?q=中文 ``` 该方法会将URL中的转义字符转换为实际的字符,以便进行正常的文字显示和处理。 ### 回答2: Python可以使用urllib.parse库的unquote函数来进行URL解码。 首先,我们需要在代码中导入urllib.parse库: ```python import urllib.parse ``` 然后,使用unquote函数对URL进行解码: ```python url = "https%3A%2F%2Fwww.example.com%2Fpath%2F%3Fkey%3Dvalue%26foo%3Dbar" decoded_url = urllib.parse.unquote(url) ``` 在这个例子中,我们将一个经过URL编码的字符串传递给unquote函数进行解码解码后的URL将被存储在decoded_url变量中。 解码后的URL将变为: ```python https://www.example.com/path/?key=value&foo=bar ``` 通过使用urllib.parse库的unquote函数,Python可以很方便地对URL进行解码,使得我们能够正确地处理包含特殊字符的URL。 ### 回答3: Python可以使用urllib库中的unquote()方法来进行URL解码。unquote()方法用于将URL中的特殊字符解码为普通字符。 下面是一个例子,演示如何使用Python进行URL解码: ```python import urllib.parse # 要解码URL url = 'https://www.example.com/%E4%BD%A0%E5%A5%BD' # 使用unquote()方法进行解码 decoded_url = urllib.parse.unquote(url) # 打印解码后的URL print(decoded_url) ``` 运行以上代码,输出将会是: ``` https://www.example.com/你好 ``` 在以上例子中,使用urllib.parse模块中的unquote()方法对含有Unicode编码URL进行解码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值