字符编码

  • 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。
  • 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()方法
图片.png
图片.png
图片.png

你可能感兴趣的:(字符编码)