一、字符编码
重点 *****
1. 什么是字符编码:将人识别的字符转换计算机能识别的01,转换的规则就是字符编码表
2. 常用的编码表:ascii、unicode、GBK、Shift_JIS、Euc-kr
3. 编码操作:编码encode()、解码decode()
4. 了解:编码表的发展史
A、ascii(ASCII)表:字母、数字、英文符号与计算机01标识符的对应关系
思考:如何将128个字符用01完全标签
二进制:1111111=====>>>255====>>1bytes(1字节)====>>8个二进制位
B、中国研究汉字与计算机01标识符的对应关系:gb2312====》》GBK===》》GB18030
日本:Shift——JIS
C、制造一个可以完成万国与计算机01标识符的对应关系编码表
编码表;Unicode表
py2:ascii,没有按万国编码,原因py2要诞生要先有万国编码
py3:utf-8.采用万国编码来解释文本内容
编码类型 | 计算机存取方式 | 汉字存储 | 英文存储 | 空间节省 | 读取效率 |
Unicod |
内存 | 2个字节 | 2个字节 | 占据空间较多 | 极高 |
utf-8 |
硬盘、cpu | 3-6个字节 | 1个字节 | 占据空间较少 | 低 |
5、文件头****
告诉puthon解释器按照什么编码来解释文件内容
功能:编码解码:原义字符串,不对字符串内部做任何操作(eg::\n的转化)
r'abc\nabc'>>>>输出'abc\nabc'
u''之间转化b 编码:u''.encode('utf-8')|bytes(b'',encode('utf-8')) 解码:b''.ecode('utf-8')|str(b'',encode('utf-8'))
知识储备
电脑三大核心:cpu - 内存 - 硬盘(数据的存取过程)
软件及python解释器读取文件过程:启动 - 读取 - 展示|解释执行
python2环境的文件头:# coding: 编码格式
简介与发展
1. ascii - 各国编码 - 万国编码
2. 存取不一致的乱码现象
3. unicode与utf-8
核心
编码操作:编码encode()、解码decode()
二、字符与字节
重点*****
1. 字节的存储方式:8个二进制位
2. 字符所占字节数:根据编码的不同,所占字节数可能不同
u、b格式字符串转换: str(b'', encode='utf-8')、bytes(u'', encode='utf-8')
3、三种字符串
Unicode字符串,默认字符串 s1=u'abc你好\n不好' print(s1) #>>>输出abc你好 n不好
字节字符串 s2=b'abc' print(s2) #>>>输出b'abc'
原义字符串:不对字符串内部做任何操作 s3=r'abc你好\n不好' print(s3) #>>>输出abc你好\n不好
4、编码与解码
s='123呵呵' n_b=bytes(s,encoding='utf-8') print(n_b) # 输出结果为 b'123\xe5\x91\xb5\xe5\x91\xb5' b=b'123\xe5\x91\xb5\xe5\x91\xb5' n_s=str(b,encoding='GBK') # 可以换成gbk的字符编码 print(n_s)
5、 重点********
将u字符串编码b字符串 print(u'你好'.encode('utf-8')) 将b字符串解码成u字符串 print(b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode('utf-8'))
三、文件操作
重点*****
1. 文件操作的三步骤:打开文件 - 使用文件 - 关闭文件
A、打开文件,变量名=文件空间 文件路径、操作模式(读/写)、编码 f=open('a.txt','r',ebcoding='utf-8')(新建a.txt文件-填写相应的内容)
B、操作文件 data=f.read(2) 将所有内容读取出来,如果设置读取长度如(2),按照规定长度读取数据 print(data)
一次读取一行 line=f.readline() print(line) line=f.readline() print(line)
按行一次性全部读取 lines=f.readlines() print(lines)
逐步一行一行读取 l=[] for line in f: l.append(line) print(l)
去重 s=set() for line in f: s.add(line) print(s)
C、关闭文件 f.close() 是否操作心态对文件的持有,变量f还被应用程序持有 del f 系统自动回收 print(f)
2. 文件操作三要素:文件源、操作模式、编码
3. with语法:with open(...) as 别名, ..., open(...) as 别名: pass
4. 重点方法:read() | write() | readline() | close() | f.flush() | f.seek()
5、操作模式 w
主模式:r:读 | w:写 | a追加
从模式:b :按字节操作照| t:按照字符操作 | +:可读可写
了解:x :异常写| U;被遗弃了
基础写
文件不存在:会新建文件,再操作文件
问价存在:先清空文件,在操作文件
w = open('b.txt', 'w', encoding='utf-8') w.write('456') w.close() print('end')
操作方法
读:read() | readline() | readlines()
写:write() | writelines() | flush()
光标:seek() | tell()
特征:encoding | closed
了解:readable() | writable() | name
案例
1. 文件复制
2. 文件修改
了解:py文件脚本机制