Python3 如何对url解码?

Python014

Python3 如何对url解码?,第1张

url编码:

import urllib

url = 'http://test.com/s?wd=哈哈'   #如果此网站编码是gbk的话,需要进行解码,从gbk解码成unicode,再从Unicode编码编码为utf-8格式。

url = url.decode('gbk', 'replace')

print urllib.quote(url.encode('utf-8', 'replace'))

参考资料

Python3 如何对url解码?.CSDN博客[引用时间2018-1-1]

base64 是经常使用的一种加密方式,在 Python 中有专门的库支持。

本文主要介绍在 Python2 和 Python3 中的使用区别:

在 Python2 环境:

在 Python3 环境:

Python3 中有一些区别,因为 Python3 中字符都是 unicode 编码,而 b64encode 函数的参数为 byte 类型,所以必须先转码。

以上就是本文的全部内容,如果觉得有用的话欢迎 点赞 转发 ,多谢。

推荐阅读:

在计算机中使用的是二进制,(为什么呢,因为二进制计算简单,可以用电路表示等等很多优点)。但是二进制对阅读和使用是不友好的,因此需要将二进制转换为人类使用的语言,英语,中文等,这就是编码。

最初的编码就是ASCII编码,美国信息交换码。它使用一个字节,8位二进制,可以表示128个符号。常用的1-9,26个字母以及一些英语符号等。

ascii表是不能表示中文的,因此中文也有专门的编码,诸如GB2312,GBK等。其它国家也有类似编码,因此为了方便信息的交流,也就有了统一编码,Unicode,又叫万国码。unicode用0-65535来表示所有字符,Unicode用2-4个字节存储。不同的存储方式,又不同的编码,这就是UTF-8,UTF-16,UTF-32。utf-8根据字符数字的大小,来决定存储字节,存储英文字符时用1个字节,存储汉字时用2个字节。utf-16,两个字节,utf-32,四个字节。

python3 在内存中使用的是Unicode,万国码,默认的编码是utf-8。

chr() ,转换为对应Unicode表字符

ord(),转换为对于Unicode表数字

encode(),编码,将str转换为字节流

decode(),解码,将字节流转换为str

计算机存储数据的格式是二进制,日常和数学中使用的数字是十进制,为了表达简化,因此有了十六进制、八进制。

二进制---->十进制---->八进制---》十六进制

10000001  ---》129  ---》201---》81

从上式可以看出来,进制越大,表达更大数时更简化。

二进制转十进制  ,按权展开相加

十进制转二进制,除基取余

二进制转八进制 ,从右往左,取3位转换为十进制得到即为8进制,不足3位左边补0。

八进制转二进制,每位展开得到3个二进制位

二进制转十六进制,,从右往左,取4位转换为十进制得到即为16进制,不足3位左边补0。

十六进制转二进制,每位展开得到四个二进制位

int() ,

hex(),转换为16进制

bin(),转换为二进制

oct(),转换为八进制