python url 编码解码

2021-01-22  本文已影响0人  王镇_ee87

网址链接中的中文编码

中文的gbk(GB2312)编码: 一个汉字对应两组%xx,即%xx%xx
中文的UTF-8编码: 一个汉字对应三组%xx,即%xx%xx%xx

from urllib.request import quote, unquote
# 编码
url1 = "https://www.baidu.com/s?wd=中国"
# utf8编码,指定安全字符
ret1 = quote(url1, safe=";/?:@&=+$,", encoding="utf-8")
>>> print (ret1)
https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD

# gbk编码
ret2 = quote(url1, encoding="gbk")
>>> print (ret2)
https%3A//www.baidu.com/s%3Fwd%3D%D6%D0%B9%FA
# 解码
url3 = "https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD"
ret3 = unquote(url3, encoding='utf-8')
>>> print (ret3)
https://www.baidu.com/s?wd=中国

from urllib.parse import urlencode

form_data = {"v1": 1, "v2": 2, "v3": 3, "v4": 4}
>>> print (urlencode(form_data))
v1=1&v2=2&v3=3&v4=4
上一篇 下一篇

猜你喜欢

热点阅读