Python中有什么方法可以将其转换%CE%B1%CE%BB%20
为αλ
它的真实表示形式吗?
问问题
48049 次
3 回答
82
对于蟒蛇 2:
>>> import urllib2
>>> print urllib2.unquote("%CE%B1%CE%BB%20")
αλ
对于蟒蛇 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"))
于 2012-08-01T21:51:39.943 回答
11
这里有两种编码。您的字符串首先被编码为UTF-8,然后每个字节都被编码为percent-encoded。
要取回原始字符串,您需要先取消引用它,然后对其进行解码:
>>> import urllib
>>> s = '%CE%B1%CE%BB%20'
>>> result = urllib.unquote(s).decode('utf8')
>>> print result
αλ
请注意,您需要启用 Unicode 的控制台才能显示该值(如果您在 print 语句中遇到错误,请尝试在IDLE中运行它)。
于 2012-08-01T21:52:01.677 回答
1
于 2018-06-26T19:16:55.567 回答