Python学习Day8
01字符编码 1.计算机系统分为三层: 应用软件 操作系统 硬件 2. 文本编辑器读一个文件的三个过程: 1.先启动文本编辑器 2.文件编辑器会将文件内容读入内存 3.将读入内存的内容显示到屏幕上 Cpython解释器执行一个py文件的三个过程: 1.先启动python解释器 2.python解释器会将py文件的内容当中普通的文本内容读入内存 3.开始解释执行刚刚读入内存的代码,识别python语法 3.字符编码 字符编码指的是字符转换成/编码成数字 编码的过程一定要遵循一个标准,该标准称之为字符编码表 字符-------编码--------》数字 字符《-----解码----------数字 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 结论: 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 5. python3的字符串类型在内存中存成unicode格式的二进制