一,字符编码
1.什么是字符编码?
人类可以识别的是高等级标识符,电脑只能识别0,1组成的标识符,要完成人与机器之间的沟通,一定需要一个媒介,进行两种标识符的转换,这种媒介就是字符编码。
1.1什么是字符编码表?
人类的高级字符与计算机的数字字符对应关系形成的结构称为;编码表。
1.1.1ASCII码表:美国用8个二进制bit(比特位)来表示一个英文字符,只能识别英文字符,一字符等于8比特位。
1.1.2 GBK表:中国人用16个二进制bit(比特位)来表示一个汉字,一个英文字符等于8比特位,可以识别英文也可以识别汉字。
1.1.3 shift-JIS和Euc-kr表
1.1.4unicode表:制造一个可以完成万国字符与计算机01标识符的对应关系的编码表,一个字符等于2bytel,等于16比特,2个字节来存储汉字,用2个字节来存储英文字母。
unicode的两大特点:A.可以兼容万国字符 B.与各个国家的编码都有映射关系。
utf-8:是unicode的转换格式,用3-6个字节来存储汉字,用一个字节来存储英文字母。
Py2:ASCII, PY3:UTF-8.
1.2编码与解码
编码:字符-----编码------》unicode的二进制-------编码》GBK的二进制
解码:GBK的二进制-----解码 ------unicode的二进制-------解码----》字符
乱码:存数据和读数据采用的编码表不一致。
解决乱码的核心法则;字符用什么编码格式编码的就用什么编码格式解码。
2为何要用字符编码?
人类与计算机打交道用的都是人类高级字符,而计算机无法识别人类的字符,只能识别二进制,所以必须将人类的字符编码成计算机能识别的二进制数字。
3 如何用字符编码?
3.1软件打开文件读取数据的流程;
a.打开软件
b.往计算机发送一个打开文件的指令,来打开文件
c.读取数据渲染给用户(存取编码不一致出现乱码)
3.2 python解释器打开Python文件的流程
a.打开Python解释器
b.往计算机发送一个打开文件的指令,来打开文件
c.逐行解释打开的文件内容(存取编码不一致,无法正常解释,崩溃),将执行结果给用户。
3.3通过文件头可以修改Python解释器默认使用的字符编码,在文件首行写:#coding:文件当初存的时候用的字符编码。
3.4针对Python2解释器中定义字符串应该
x=u"上"
对于Python3解释器中定义字符串即使不加u前缀也是存成unicode编码格式。
二 文件操作
1.什么是文件?
’文件是操作系统提供给用户/应用程序的一种虚拟单位,该虚拟单位直接映射的是硬盘空间。
为何要处理文件?
用户/应用程序直接操作文件(读写),就被操作系统转换成具体的硬盘操作,从而实现用户/应用程序将内存中的数据永久的保存到硬盘中去。
2.文件处理的三个步骤;
1.打开文件,open(r"a/n/c.txt,mode=“r”)