今天学习了urllib_get请求的quote方法以及urlencode方法。也了解了编码集的演变。
由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号。
这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突所以,中国制定了GB2312编码,用来把中文编进去。你可以想得到的是,全世界有上百种语言,日本把日文编到shift JIS里,韩国把韩文编到Euc-kr里各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码.因此,Unicode应运而生,Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符就需要4个字节)
现代操作系统和大多数编程语言都直接支持Unicode。unicode码也被成为万国码。
有时我们使用urlopen访问某些url时,有的url会带有汉字,这时我们可以使用urllib_get请求的quote方法完成将汉字转变为unicode码。import urllib.parse。urllib.parse.quote('内容')即可将汉字转变为unicode码。
但很多时候url里会含有许多汉字,这时如果一个一个用quote得到unicode码,再将其复制代替汉字会很麻烦,这时就可以使用urlencode方法。先定义一个字典data,字典里定义项目以及对应的数据,例如‘性别’:‘男’。urllib.parse.urlencode(data)即可获得一个用&连接的unicode码。
今天就是酱紫。