我该如何将百分号编码的字符解码为普通的Unicode字符?
"Lech_Kaczy%C5%84ski" ⟶ "Lech_Kaczyński"
对于Python 3,使用urllib.parse.unquote
:
from urllib.parse import unquote
print(unquote("Lech_Kaczy%C5%84ski"))
输出:
Lech_Kaczyński
from urllib.parse import unquote
来使导入正常工作。 - Mahmoud Elshahat对于Python 2,使用urllib.unquote
:
import urllib
urllib.unquote("Lech_Kaczy%C5%84ski").decode('utf8')
这将返回一个Unicode字符串:
u'Lech_Kaczy\u0144ski'
您随后可以像往常一样打印和处理。例如:
print(urllib.unquote("Lech_Kaczy%C5%84ski").decode('utf8'))
将导致
Lech_Kaczyński
Lech_Kaczy\xc5\x84ski
,而不是Lech_Kaczyński
。 - yakdecode
调用(仅基于在尝试时没有它也能正常工作)。 - Holloway这适合我:
import urllib
print urllib.unquote('Lech_Kaczy%C5%84ski')
Lech_Kaczyński
Lech_Kaczy\xc5\x84ski
这样的。现在我想知道如何将其转换为波兰字母。 - yak