python中的url编码和解码(encode与decode)乱码

 

# -*- coding:utf-8 -*-
import urllib
from urllib import quote
from urllib import unquote

#当url地址含有中文或者特殊字符,需要把一些中文甚至'/'做一下编码转换。
#1——将中文“中国”转换成URL编码
a=quote('中国')
print("中国的url编码为:"+a)
#中国的url编码为:%E4%B8%AD%E5%9B%BD


#2——将URL编码转换成字符
str="%E4%B8%AD%E5%9B%BD"
b=unquote(str)
print("%E4%B8%AD%E5%9B%BD的url解码为:"+b)
#%E4%B8%AD%E5%9B%BD的url解码为:中国


# python中可用urllib库中quote和unquote编码和解码,但是我用unquote解码后却是乱码,在这个网站(http://tool.chinaz.com/Tools/URLEncode.aspx)测试后发现这个网站用的文字编码方式是utf-8,问题解决:
test1 = '%E4%B8%AD%E5%9B%BD'.encode('utf-8')
test1_1 = unquote(test1)
print(test1_1)

 

posted @ 2019-04-21 13:26  努力奋斗小青年  阅读(12608)  评论(0编辑  收藏  举报