使用Django开发web时,客户端通过URL传参的形式把数据发送给服务端,此参数之前采用的是base64进行加密,然后服务端收到此参数的数据后,再进行base64解密。但是如果遇到URL的参数中包含汉字或者特殊字符时,服务端解码失败!

正确的做法就是,使用urllib对URL进行encode和decode,具体代码如下:

from urllib import parse

s1 = parse.quote('中文字符,http://www.163.com')
print(s1)
s2 = parse.unquote(s1)
print(s2)