字符编码与文件

字符编码

 

我们点击图标的时候,数据从硬盘读到内存,而我们保存数据的时候,是从内存读到硬盘。

内存只能短暂保存数据,永久保存数据还得需要硬盘。

那么你把数据从硬盘读到内存,就相当于在是在解码,

同样当你要把内存中的数据读到硬盘 ,你就需要让硬盘能够知道你存的是什么,

就需要进行编码,这就形成了编码与解码。

 

如果出现乱码,只有一个原因:

你的编码和解码中,有一个出了问题

记住一句话:你用什么编码的,就用什么去解码。

 

字符编码只和文本有关

 

python2与python3在字符编码上的区别:

python2将文本文件读入解释器默认使用ASCII码

python3将文本文件读入解释器默认使用utf-8

 

字符编码表:就是字符和数字之间的对应关系

(1)ASCII码  用八位二进制表示一个英文字符

(2)GBK码   用2个Bytes表示一个中文字符,还是用一个字节表示英文字符

(3)万国码 统一用2Bytes表示所有字符

         但是它有一个致命的弱点:浪费存储空间,io操作增加,执行效率降低

 

文件

 

 

文件的打开方式:

(1)r  只读

        此模式在打开文件的时候,如果文件不存在就会直接报错。

(2)w 只写

       此模式一定要慎用,如果要打开的文件不存在,那么就会自动创建,如果文件存在,就会删除原值,然后填入新的值。

(3)a 追加写

        当文件不存在时,自动创建文件

       当文件存在时,不会清空文件,而是在后追加数据

操作文件单位的方式:

(1)t

        文本文件在使用的时候要指定encoding参数,如不指定,默认是操作系统的编码

(2)b

         二进制在使用的时候,一定不要指定encod参数,

posted on 2019-07-08 19:07  笨小孩0号  阅读(33)  评论(0)    收藏  举报

导航