字符编码与文件的处理 2018-3-22-23
字符编码
字符编码的定义: 输入电脑中的字符对应一个特定的数字
重点结论就一句: 要使编码不存在乱码情况就是,字符以什么标准而编码的,就要以什么标准解码
硬盘存储:现在的硬盘存储都是utf-8格式,一个汉字占用3个字节
python2 解释器默认格式为ASCII (str类型按照头文件格式储存)
所以python2中的str格式有两种,一种是默认的ACSII,另一种就是unicode
转换方式是: unicode——(编码cencode)——>gdb
gdb——(解码decode)——>unicode
python3 解释器默认格式为utf-8 (str被存成unicode)
头文件:指定解释器选择的解释格式(读文件的格式,读取格式必须跟编码格式一致)
bytes类型(二进制类型)用途:1.存放到文件中 2.基于网络的传输
文件处理
打开本地文件:open'打开文件的路径' mode‘打开文件的模式’ encoding‘操作文件的字符编码’
关闭文件 (回收操作,节省系统资源) .clase()
f=open('a.txt'),默认打开的方式是rt(只读模式)模式。(默认打开的格式为gbk)
打开方式:文件默认打开方式是t模式,即文本模式
打开文件的操作,r,w,a
1:r模式,只读模式,(当文件名不存在时,报错)
2:w模式,只写模式,(当文件名不存在时,新建一个文件名,当文件名存在时,覆盖原来文件)
3:a模式,添加模式,(当文件名不存在时,创建新文件。当文件名存在时,输入文件添加到最后)
文件打开方式为b模式时,b模式即字节模式
注意:1.b模式不能单独使用,必须是rb,wb,ab。(t模式时,t可以省略)
2.b模式下读写都是字节,以bytes为单位
3.b模式下一定不能指定encoding参数(b模式下就一种,bytes)
文件的修改:
f.seek()偏移量,移动的位置,单位是字节
文件修改的两种方式:
一:1,把文件类容全部读入内存, 2,在内存中修改文件 3.把修改后的文件再存入硬盘
(缺点:因为把文件全部读入内存,如果文件类容太多,会占用过多内存)
二:以读的方式一行一行打开文件,找到修改的进行修改,生成一个新文件,再把新文件覆盖到原来文件‘