Python:将汉字字符转换为百分号格式编码

问题分析

  • 百分号编码实际上将字符转为UTF-8格式,便于生成URL/URI等基于ASCII的字符串
  • 但是单纯用encode函数得到的是bytes类型,所以需要用urllib提供的quote函数进行转码

解决办法

  • Python2.x中使用urllib.quote函数完成
  • Python3+中使用urllib.parse.quote函数完成

示例

>>> a = '乙'
>>> a
'乙'
>>> a.encode
<built-in method encode of str object at 0x0000018775DC0E40>
>>> a.encode()
b'\xe4\xb9\x99'
>>> import urllib
>>> urllib.parse.quote(a)
'%E4%B9%99'
>>>