我是靠谱客的博主 奋斗哈密瓜,最近开发中收集的这篇文章主要介绍python网址解码_用Python实现URL编解码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

编码“原始”unicode的url实际上没有意义。您需要做的是首先.encode("utf8"),这样您就有了一个已知的字节编码,然后.quote()。

输出不是很漂亮,但应该是正确的uri编码。>>> s = u'1234567890-/:;()$&@".,?!'[]{}#%^*+=_|~<>u20acxa3xa5u2022.,?!''

>>> 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 functions所做的事情。The functions

django.utils.http.urlquote() and

django.utils.http.urlquote_plus() are

versions of Python’s standard

urllib.quote() and urllib.quote_plus()

that work with non-ASCII characters.

(The data is converted to UTF-8 prior

to encoding.)

如果你正在应用任何进一步的引号或编码,不要弄乱东西。

最后

以上就是奋斗哈密瓜为你收集整理的python网址解码_用Python实现URL编解码的全部内容,希望文章能够帮你解决python网址解码_用Python实现URL编解码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部