python3的str跟bytes问题
python3 的str其实就是unicode字符,交互界面看到的是人类的字符,但其实存储中是unicode码位(code point 四位十六进制的数)。
unicode其实就是做了一个人类所有字符码位的一个一一映射关系表
数据的传输永远都是二进制的,我们要传输unicode字符,就需要把码位转换成二进制数据,这就另外规定了很多不同的编码方式–utf-8 utf-16 GBK ISO-2312等,有的编码方式支持所有unicode码位到二进制的转换,比如utf系列,但有的只支持部门unicode码位,比如GBK!
python用bytes跟bytearray来表示二进制的字节,每个元素是介于0-255(2^8)之间的整数,即每个元素代表一个字节(8bits)