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

时间:2012-08-01 21:48:46

标签: python string

在python中有什么方法可以改变这个 - > %CE%B1%CE%BB%20到此:“αλ”是它的真实表示吗?

提前致谢!

3 个答案:

答案 0 :(得分:50)

对于python 2:

>>> import urllib2
>>> print urllib2.unquote("%CE%B1%CE%BB%20")
αλ 

对于python 3:

>>> from urllib.parse import unquote
>>> print(unquote("%CE%B1%CE%BB%20"))
αλ

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

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

print(unquote("%CE%B1%CE%BB%20"))

答案 1 :(得分:10)

这里有两种编码方式。您的字符串首先被编码为UTF-8,然后每个字节都是percent-encoded

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

>>> import urllib
>>> s = '%CE%B1%CE%BB%20'
>>> result = urllib.unquote(s).decode('utf8')
>>> print result
αλ 

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

答案 2 :(得分:1)

python 3答案

import urllib 
urllib.parse.unquote('/El%20Ni%C3%B1o/')

'/El Niño/'

source

相关问题