1、对单个字符串编码
from urllib.parse import quote, unquote # 编码 print(quote("美国")) # %E7%BE%8E%E5%9B%BD # 解码 print(unquote("%E7%BE%8E%E5%9B%BD")) # 美国
2、对key-value字典数据编码
from urllib.parse import unquote, urlencode data = { "name": "Tom", "country": "美国", "age": 23 } # 编码 print(urlencode(data)) # name=Tom&country=%E7%BE%8E%E5%9B%BD&age=23 # 解码 print(unquote("name=Tom&country=%E7%BE%8E%E5%9B%BD&age=23")) # name=Tom&country=美国&age=23
3、自定义实现url解码
tip: urllib库没有提供 urldecode 函数
# 将查询字符串转为dict字典数据类型 def urldecode(query): item = {} for key_value in unquote(query).split("&"): key, value = key_value.split("=") item[key] = value return item print(urldecode("name=Tom&country=%E7%BE%8E%E5%9B%BD&age=23")) # {'name': 'Tom', 'country': '美国', 'age': '23'}