Python的urllib.quote和urllib.unquote无法正确处理Unipre
urllib根本不处理Unipre。根据定义,URL不包含非ASCII字符。在处理时,
urllib应仅使用字节字符串。如果希望这些字符代表Unipre字符,则必须手动对其进行编码和解码。
IRI可以包含非ASCII字符,将它们编码为UTF-8序列,但是Python目前没有
irilib。
将值编码为UTF8也不起作用:
In [6]: print urllib.unquote(urllib.quote(u'Cataño'.enpre('utf8')))Cataño嗯,好了,现在您要在控制台中输入Unipre,然后
Unipre。通常这是不可靠的,尤其是在Windows中以及使用IPython控制台的情况下。
使用反斜杠序列将其键入很长的距离,您可以更容易地看到该
urllib位确实起作用:
>>> u'Catau00F1o'.enpre('utf-8')'CataxC3xB1o'>>> urllib.quote(_)'Cata%C3%B1o'>>> urllib.unquote(_)'CataxC3xB1o'>>> _.depre('utf-8')u'CataxF1o'


