字符编码
什么是字符编码 ?
由于计算机内部只能识别二进制。
但是用户在使用计算机时,却可以看到各式各样的语言字符。
字符编码:内部记录了人类字符与数字对应关系的数据。
( 只根文本文件和字符串有关 ) 。
字符串编码发展史
1. 一家独大 >>> 2.群雄割据 >>> 3.一统天下
1. 计算机由美国人发明,为了能让计算机识别英文,美国人发明了ASCII
ASCII码中记录了英文字符与数字的对应关系,用一个字节一个字节表示。1bytes
所有的英文字符和符号加起来不超过127个,使用八进制是为了后续发现新的语音留有余地。
需要记住的对应关系是 A-Z:65-90 a-z:97-122
2.中国:为了让计算机识别中文,我们需要发明另一套编码表。
我国发明了GBK码:记录了英文中文与数字的对应关系。
对于英文还是使用一个字节;对于中文要使用两个甚至更多字节。2bytes,3bytes
日本:为了让计算机识别日文,也需要发明一套编码表。
shift_JIS码:记录日文与英文与数字的对应关系。
韩国:为了让计算机识别韩文,也需要发明一套编码表。
Euc_kr码:记录韩文英文与数字的对应关系。
3.一统天下
为了实现国家与国家之间的文本数据可以无障碍交流,需要统一编码
出现了unicode(万国码):统一使用两个及以上的字符记录与数字的对应关系。
utf8(万国码的优化版):将英文还是以1bytes储存,中文以3bytes或更多储存。
""" 现在默认使用的是utf8 """
字符编码实操
1.如何解决乱码情况
文件以什么编码编的,就规定以什么编码打开。
如果使用不当,会出现乱码。
2.python解释器版本不同的编码差异
python2.x 内部的编码使用默认编码是ASCII
使用 coding:utf8 更改成utf8可使用的模式
一定要在定义内容前加小u
python3.x 内部使用utf8
修改自定义文本版本内容如下:
3.编码与解码
编码:将人类能够读懂的字符,安装的指定编码转成数字 (.encode)
解码:将数字按指定的编码转化为人类的字符。(.decode)
文件操作
1.什么是文件?
文件就是操作系统展示给用户操作硬盘的一个接口。
2.代码如何操控文件
关键字:open()
1.利用open打开文件
"""
文件路径,读写模式,字符编码
文件路径与读写模式是必须的
字符编码是可选的(有些模式需使用到编码)
"""
2.利用其他方法操控文件
3.关闭文件
关闭文件除了使用.close( ) ,还可以使用with
with上下文管理(能够自动帮你close( ) )
with open(r'1.txt','r',encoding='utf8') as f1:
pass (用于补全语法结构,没有特殊意义)
"""以后代码操作文件 推荐使用with语法"""
"""
文件路径
相对路径与绝对路径
路径中出现了字母与斜杠的组合产生了特殊含义如何取消
在路径字符串前面加一个r
r'D:\py20\day08\a.txt'
"""
文件读写模式
pass :补全语法结构,没有实际含义
... : 也是补全语法结构,没有实际含义
(不推介使用,代码中会有很多 . 号 会看不清)
r : 只读模式
读文件,路径不存在时 直接报错
文件存在时,读取内容 (.read)
w :只写模式
路径不存在时,自动创建
路径存在时,会清空原内容后再执行 (.write)
a :只追加模式
可读,路径不存在时,自动创建
路径存在时,则在最后添加内容