字符编码

了解更多猛戳这里

结论

1-ASCLL表

  1-只支持英文字符串,与万国字符都有一一对应

  2-采用8位二进制数(8bit=1bytes=1字节 )对应一个英文字符串

2-GBK

  1-支持英文字符,支持中文字符

  2-采用8位二进制数(8bit=1bytes=1字节)对应一个英文字符

  3-采用16位二进制数(16bit=2bytes=2字节)对应一个中文字符

3-Unicode(内存中统一使用的字符表)  我们可以改变的是存入硬盘采用的格式

  1-兼容万国字符

  2-采用16位二进制数(16bit=2bytes=2字节)对应一个中文字符,个别生僻字采用4bytes8bytes

  3-老的字符都可以转化成Unicode,反之则不可以

4-utf-8

  1-支持国际语言

  2-是Unicode的升级,两者可以非常容易的互相转化,占用空间小,ascll表被utf-8包含

  3-英文-->1bytes  中文-->3bytes

5-文本文件存取乱码问题

  存乱了:编码格式应该设置成支持文件内字符串的格式

  取乱了:文件以什么编码格式存入硬盘,就用什么编码格式读取文件

6-Python解释器默认读文件的编码

  python2:ascll

  python3:utf-8

  指定文件头修改默认的编码,在py文件的首行写如:# coding:gbk

7-保证运行python程序前两个阶段不出现乱码的核心法则:

  1-指定文件头

  2- #coding:文件当初存入硬盘时所采用的编码格式

8-python解释器str类型详解

  python3的str类型默认直接存成Unicode格式无论如何都不会乱码

  python2中

    x = u"hello" # 此行代码强制把 hello 以 Unicode的编码格式存入内存空间,所以不会出现乱码问题

posted @ 2020-05-24 15:37  赖正华  阅读(82)  评论(0编辑  收藏  举报