字符串类型的区别和转化
框处的内容都是字符串
str类型和bytes类型
bytes:二进制
互联网上数据的都是以二进制的方式传输的
bytes对象只负责以二进制字节序列的形式记录所需记录的对象,至于该对象到底表示什么(比如到底是什么字符)则由相应的编码格式解码所决定
bytes是Python 3中特有的,Python 2 里不区分bytes和str。
在Python 2中由于不区分str和bytes所以可以直接通过encode()和decode()方法进行编码解码。
而在Python 3中把两者给分开了这个在使用中需要注意。实际应用中在互联网上是通过二进制进行传输,所以就需要将str转换成bytes进行传输,而在接收中通过decode()解码成我们需要的编码进行处理数据这样不管对方是什么编码而本地是我们使用的编码这样就不会乱码。
str :unicode的呈现形式
str 使用encode方法转化为 bytes
bytes通过decode转化为str
编码方式解码方式必须一样,否则就会出现乱码
str 使用encode方法转化为 bytes
bytes通过decode转化为str
bytearray
bytearray和bytes不一样的地方在于,bytearray是可变的。
Unicode UTF8 ASCII的补充
字符(Character)是各种文字和符号的总称
包括各国家文字、标点符号、图形符号、数字等
字符集(Character set)是多个字符的集合
字符集包括:ASCII字符集、GB2312字符集、GB18030字符集、Unicode字符集等
ASCII编码是1个字节,而Unicode编码通常是2个字节。
UTF-8是Unicode的实现方式之一
UTF-8是它是一种变长的编码方式,可以是1,2,3个字节