今日内容:
1、字符编码
2、文件操作
文件操作的读写方法
文件的打开模式
引子
1、计算机系统分为三层:
应用软件
操作系统
硬件
2、文本编辑器读一个文件的三个过程:
Ⅰ先启动文本编辑器
Ⅱ文件编辑器会将文件内容读入内存
Ⅲ将读入内存的内容显示到屏幕上
cpython解释器执行一个py文件的三个过程:
Ⅰ先启动python解释器
Ⅱpython解释器会将py文件的内容当成普通的文本内容读入内存
Ⅲ开始解释执行刚刚载入内存的代码,识别python语法
一、字符编码
字符编码指的是把字符编码成数字
编码的过程一定要遵循一个标准,该标准称之为字符编码表。
字符===编码(encode)===》数字
字符《==解码(decode)===数字
1、ASCII表:只有英文字符与数字的对应关系,用8bit对应一个英文字符。
一个英文字符===》1Bytes
2、GBK表:可以识别中文字符和英文字符,用8bit对应一个英文字符,用16bit对应一个中文字符
一个英文字符===》1Bytes
一个中文字符===》2Bytes
3、unicode(内存中默认使用该编码),大多数用2Bytes表示一个字符
Ⅰ可以识别万国字符
Ⅱ与各种字符编码的二进制数字都有对应关系
4、utf-8全称为Unicode Transformmation Format:
一个英文字符===》1Bytes
一个中文字符===》3Bytes
unicode二进制====编码====》utf-8二进制
unicode二进制《===解码====utf-8二进制
结论:
Ⅰ编码与解码
字符===编码===》数字
字符《==解码===数字
unicode二进制====编码(encode)====》utf-8二进制
unicode二进制《===解码(decode)====utf-8二进制
Ⅱ内存中固定使用unicode编码,我们可以改变的是数据由内存刷到硬盘时采用的编码(应该使用utf-8)
unicode的特点:
Ⅰ可以识别万国字符
Ⅱ与各种字符编码的二进制数字都有对应关系
Ⅲ 解决乱码问题的核心:
①字符当初以什么编码的,就应该以什么编码去读
②保证运行python程序的前两个阶段不乱码的解决方案:添加文件头
在文件首行添加#coding:文件当初存的字符编码
Ⅳ pyhton解释器默认的编码
python3:默认utf-8
python2:默认ASCII
Ⅴ python3的字符串类型在内存中存成unicode格式的二进制