Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
URL UTF-8解码Python_Python_Utf 8_Character Encoding - Fatal编程技术网

URL UTF-8解码Python

URL UTF-8解码Python,python,utf-8,character-encoding,Python,Utf 8,Character Encoding,我有一些URL格式的数据,我想用Python对其进行解码。我尝试了(被接受的)答案,但仍然没有得到正确的解码。我的代码如下: import urllib2 name = '%D0%BD%D0%BE%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80-%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D1%85-%D0%B8' print urllib2.unquot

我有一些URL格式的数据,我想用Python对其进行解码。我尝试了(被接受的)答案,但仍然没有得到正确的解码。我的代码如下:

import urllib2

name = '%D0%BD%D0%BE%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80-%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D1%85-%D0%B8'

print urllib2.unquote(urllib2.quote(name.encode("utf8"))).decode("utf8")
这应该打印
D0%BD%D0%BE%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%D0%80%D0%D0%80%D0%BB%D0%B8%D0%B8%D0%BA%D0%D0%D0%80%D0%BE%D0%BB%D0%B8%D0%B8%D0%D0%B8%D0%B8%D0%B8%D0%B8%D0%B8%D0%B8

所以我又试着取消引用

打印urlib2.unquote(urlib2.unquote(urlib2.quote(name.encode(“utf8”)))).decode(“utf8”))

但它给了我一个


我不知道为什么会这样。有人能解释一下我哪里做错了,我该如何纠正我的错误吗?

引用/取消引用操作太多:您得到的UTF-8字符串已经是URL编码的,为什么要再次对其进行UTF-8和URL编码

unquoted = urllib.unquote(name)
print unquoted.decode('utf-8')
# нотификатор-олимпийских-и