将URL字符串转换为python中的普通字符串(%20到空格等)

hyt*_*omo 28 python string

在python中是否有任何方法可以将此 - >%CE%B1%CE%BB%20转换为:"αλ"这是它的真实表示?

提前致谢!

Igo*_*bin 55

对于python 2:

>>> import urllib2
>>> print urllib2.unquote("%CE%B1%CE%BB%20")
?? 
Run Code Online (Sandbox Code Playgroud)

对于python 3:

>>> from urllib.parse import unquote
>>> print(unquote("%CE%B1%CE%BB%20"))
??
Run Code Online (Sandbox Code Playgroud)

这里的代码适用于所有版本:

try:
    from urllib import unquote
except ImportError:
    from urllib.parse import unquote

print(unquote("%CE%B1%CE%BB%20"))
Run Code Online (Sandbox Code Playgroud)

  • 对于**Python 3**:`import urllib.request``urllib.request.unquote(...)` (19认同)

Mar*_*ers 10

这里有两种编码方式.您的字符串首先被编码为UTF-8,然后每个字节都经过百分比编码.

要获取原始字符串,您需要首先取消引用它,然后解码它:

>>> import urllib
>>> s = '%CE%B1%CE%BB%20'
>>> result = urllib.unquote(s).decode('utf8')
>>> print result
?? 
Run Code Online (Sandbox Code Playgroud)

请注意,您需要启用Unicode的控制台才能显示该值(如果print语句出错,请尝试在IDLE中运行它).