- 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。
- 8个比特(bit)作为一个字节(byte)
- 一个字节能表示的最大的整数就是255(二进制11111111=十进制255)
- Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了
- ASCII编码是1个字节,而Unicode编码通常是2个字节。
- 把Unicode编码转化为“可变长编码”的UTF-8编码
- 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
- 纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错
- 以Unicode表示的str通过encode()方法可以编码为指定的bytes,
- 在bytes中,无法显示为ASCII字符的字节,用\x##显示。
我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。 要把bytes变为str,就需要用decode()方法
存储数据和网络传输 需要把unicode 字符str转为bytes, 就需要用到encode()方法
网友评论