Url在Python中解码UTF-8

问题:

我已经花了很多时间,就像我在Python中的新手一样。
我如何解码这样一个URL:

example.com?title=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0

在python 2.7中的这个:example.com?title==правовая+защита
 url=urllib.unquote(url.encode("utf8"))返回的东西非常丑陋。
仍然没有解决方案,任何帮助是赞赏。

回答:

数据是通过URL引用转义的UTF-8编码字节,因此您想要解码

url=urllib.unquote(url).decode('utf8') 

演示:

>>> import urllib 
>>> url='example.com?title=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0'
>>> urllib.unquote(url).decode('utf8') 
u'example.com?title=\u043f\u0440\u0430\u0432\u043e\u0432\u0430\u044f+\u0437\u0430\u0449\u0438\u0442\u0430'
>>> print urllib.unquote(url).decode('utf8')
example.com?title=правовая+защита

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Url decode UTF-8 in Python

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

52 − = 49