lg04551

导航

 

字符对应数字的标准
字符……(翻译过程)……数字
ASCII 256字符
gb2312 编码中国规定 包含中文数字对应---》GBK
ASCII 1byte代表1个字符

GBK:2个byte代表1个字符
unicode 2个byte 生僻字4个字节
UTF-8 英文1个 中文3个 生僻4——6 -----》包含ASCII

第一代ASCII
第二代GBK
第三代 各国自己定义,乱码的原因就是编码不一样系统不兼容
unicode 以空间换取可以转换任意编码
UTF-8存放基于网络数据量最小提高稳定
2位16进制=1个字节
python3自动把输入的内容转换成unicode兼容性好 对应STR字符型

 

保证不乱吗的核心就是:
文件是以什么编码存的,就必须以该读取
强调:我们能控制的只是存到硬盘上的编码

python3解释器:默认utf-8编码
python2解释器:默认ascii编码

文件头的作用:#coding:utf-8 是告诉python解释器,用我指定的字符编码

 

 

unicode---编码encode--->gbk
gbk------->解码decode--->unicode


 文件

默认的打开文件的编码是:当前操作系统默认的编码,win:gbk,linux:utf-8

文件默认的打开模式是t模式:文本模式

操作文件的模式有三种:r,w,a

r:默认的打开模式,只读模式
注意:当文件不存在时,报错

with  open('aa.txt',mode='r',encoding = 'utf-8') as f:
for i in f:
print(i)
以字符方式一行一行存I/O快


f= open('aa.txt', mode='r', encoding='utf-8')
print(f.read())
print(f.readline())
f.close()

 

w:只写模式
注意
1、当文件存在时,清空
2、当文件不存在时,创建空文档

f= open('aa.txt',mode='w',encoding='utf-8')
f.write('aaaaa\nbbbbb\ncccccc\n')

f.writelines(['aaa\n','bbbb\n','cccc\n'])
f.close()

 

a:只追加写模式

注意:

在文件不存在时,创建空文件
在文件存在时,光标直接跑到文件末尾

f = open('bb.txt',mode='a',encoding='utf-8')
f.write('111\n''2222\n')
f.close()

f = open('bb.txt',mode='a',encoding='utf-8')
f.writelines('aaa\n')

追加用于写日志
 

 

 


 

posted on 2018-03-22 16:46  lg04551  阅读(95)  评论(0编辑  收藏  举报