字符编码

字符编码

1. 计算机系统分为三层:
      应用软件
      操作系统
      硬件

 

2.文本编辑器读一个文件的三个过程:

1. 先启动文本编辑器
2. 文件编辑器会将文件内容读入内存
3. 将读入内存的内容显示到屏幕上

 

3.Cpython解释器执行一个py文件的三个过程:

1. 先启动python解释器
2. python解释器会将py文件的内容当中普通的文本内容读入内存
3. 开始解释执行刚刚读入内存的代码,识别python语法

 

4.字符编码:

字符编码指的是字符转换成/编码成数字

编码的过程一定要遵循一个标准,该标准称之为字符编码表

字符--------编码--------》数字
字符《--------解码--------数字

 

5.编码表:

1. ASCII表:只能识别英文字符,用8bit对应一个英文字符
1个英文字符====>1Bytes


2. GBK表:可以识别中文字符、英文字符,用8bit对应一个英文字符,用16个bit对应一个中文字符
1个英文字符====>1Bytes
1个中文字符====>2Bytes


3. unicode(内存中默认使用该编码):用2Bytes表示一个字符
1. 可以识别万国字符
2. 与各种字符编码的二进制数字都有对应关系


4. utf-8全称Unicode Transformation Format:
1个英文字符====>1Bytes
1个中文字符====>3Bytes

 

6.结论:
1、 编码与解码
字符--------编码--------》数字
字符《--------解码--------数字

unicode二进制========编码========》utf-8二进制
unicode二进制《=======解码=========utf-8二进制


2. 内存中固定使用unicode编码,我们可以改变的是数据由内存刷到硬盘时采用的编码(应该采用utf-8)
unicode的特点:
1. 可以识别万国字符
2. 与各种字符编码的二进制数字都有对应关系


3. 解决乱码问题的核心:
1. 字符当初以什么编码存的,就应该以什么编码去读
2. 保证运行python程序的前两个阶段不乱码的解决方案:添加文件头
在文件首行添加#coding:文件当初存的字符编码



4. python解释器默认的编码
python3:默认utf-8
python2:默认ASCII

posted on 2018-11-26 13:45  黑粥  阅读(125)  评论(3编辑  收藏  举报

导航