Python将字符转换为URL编码

时间:2017-12-01 22:18:38

标签: python url encoding

我正在尝试将文本转换为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。

1 个答案:

答案 0 :(得分:2)

您的字符串是UTF-8编码的,URL编码的字符串反映了这一点。

0xC3A8是Unicode值U + 00E8的UTF-8编码,被描述为“带有GRAVE的拉丁文小写字母”。

为了获得你所追求的字符串,你需要让Python知道你正在使用哪个代码页,如下所示:

{{1}}