我正在尝试将文本转换为URL,但某些字符没有像我期望的那样被转换。例如:
>>> import urllib
>>> my_text="City of Liège"
>>> my_url=urllib.parse.quote(my_text,safe='')
>>> my_url
'City%20of%20Li%C3%A8ge'
空格被正确转换,但是,“è”应该转换为%E8
,但它会以%C3%A8
的形式返回。我错过了什么?
我使用的是Python 3.6。
答案 0 :(得分:2)
您的字符串是UTF-8编码的,URL编码的字符串反映了这一点。
0xC3A8是Unicode值U + 00E8的UTF-8编码,被描述为“带有GRAVE的拉丁文小写字母”。
为了获得你所追求的字符串,你需要让Python知道你正在使用哪个代码页,如下所示:
{{1}}