- 字符编码
- 什么是字符编码
- 人类语言翻译为二进制,翻译的过程称之为字符编码
- 保存不是目的,能取出来才是目的
- 要想保存翻译分结果则保证采用相同的规范,也就是字符串
- 人类语言翻译为二进制,翻译的过程称之为字符编码
- 乱码发生的两种情况
- 1.存的时候使用的编码与取的时候的不同
- 存的时候,出现了编码表中不存在的字符,例如既有英文,又有中文,但是采用了ascll来编码
- 保证不乱码
- 存取一致
- 使用兼容万国的编码表
- 解释器在读取文件后识别语法,当在定义字符串变量时又涉及到编码问题
- py2中默认采用ascll,也可以使用coding来指定,但也有乱码的可能:当coding为gbk,而输出字符时采用utf-8
- py3中默认采用unicode,并且coding也只能修改前两阶段解码过程,无法修改定义变量的编码
- encode和decode
- encode使用场景
- 需要将文本写入到硬盘时
- 需要将文本基于网络发送时
- encode使用场景
- 什么是字符编码
- 文件处理
- 文件是操作系统提供的一套虚拟接口,用于简化对硬盘的操作,一个文件就代表硬盘上的一段二进制数据,学习文件处理是为了将数据永久保存
- 基本形式
- 打开文件语法
f = open(r"文件路径",mode="rt",encoding="utf-8") f.read() f..write() f.close()- 语法2
with open(r"文件路径",mode="rt",encoding="utf-8") as f: pass
- 语法2
- 打开文件的模式
默认为t模式 即文本操作模式 r == rt 只读文本 w == wt 只写文本 a == at 追加写文本- 无论是读还是写 都需要指定编码方式,如果不指定 windows默认为GBK linux默认UTF-8
- 操作数据都是字符为单位
- a 和 w 都是写入模式,如果文件不存在都会创建新文件
- 不同的是 w会清空源文件 a不会情况且会将光标移动文件末尾
- 打开文件语法
- b模式
b表示字节模式 与文本相同在于 都必须与r、w、a连用 rb 只读字节模式 wb 只写字节模式 ab 追加只写字节模式 b模式可以操作任意类型的文件- b模式可以操作任意类型的文件
- 注意:
- b模式不允许设置编码参数
- 读写数据都以字节为单位
- 可读可写
+ 表示可读可写模式 也不能单独使用 - r+ == r+t 直接写入 会把元数据覆盖掉
- w+ == w+t 打开就清空 所以读不到
- a+ == a+t 打开就移动光标到末尾 也读不到
- 可读可写字节模式
- r+b 直接写入 会把元数据覆盖掉
- w+b 打开就清空 所以读不到
- a+b 打开就移动光标到末尾 也读不到 仅仅是单位不同
- 每一个都有问题 所以可读可写并不常用
- 字符编码
day08/09
猜你喜欢
转载自www.cnblogs.com/fengchenglei/p/10239370.html
今日推荐
周排行