当url地址含有中文,或者参数有中文的时候,这个算是很失常了,然而把这样的url作为参数传递的时候(最常见的callback),须要把一些中文甚至'/'做一下编码转换。
所以对于一些中文或者字符,url不辨认的,则须要进行转换,转换后果如下:
一、urlencode
urllib库外面有个urlencode函数,能够把key-value这样的键值对转换成咱们想要的格局,返回的是a=1&b=2这样的字符串,比方:
import urllib.parsevalues={}values['username']='02蔡彩虹'values['password']='ddddd?'url="http://www.baidu.com"data=urllib.parse.urlencode(values)print(data)# 输入:username=02%E8%94%A1%E5%BD%A9%E8%99%B9&password=ddddd%3F
如果只想对一个字符串进行urlencode转换,怎么办?urllib提供另外一个函数:quote()
import urllib.parses='长春's=urllib.parse.quote(s)print(s)# 输入:%E9%95%BF%E6%98%A5
二、urldecode
当urlencode之后的字符串传递过去之后,承受结束就要解码了——urldecode。urllib提供了unquote()这个函数,可没有urldecode()!
s='%E5%B9%BF%E5%B7%9E's=urllib.parse.unquote(s)print(s)# 输入: 广州
原文地址:https://www.jb51.net/article/...