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=правовая+защита 

如果你正在使用Python 3

 >>> from urllib import parse >>> parse.unquote("""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""") 'example.com?title=правовая+защита'