字符编码 文件处理

一. 字符编码
字符编码:字符编码指的是字符转成二进制数字
编码的过程一定要遵循一个标准,该标准称之为字符编码
什么是字符编码表:存放字符和二进制数字对应关系的表
字符=编码===》二进制数字
 字符《解码==二进制数字
 文本编辑器打开文本的三个步骤:
1、打开文本编辑器
2、文本编辑器将文本内容读入到计算机内存
3、文本编辑器将文本内容显示到显示屏上
现有的几种字符编码表:
1、ASCII:只能识别英文字符
特点:采用8bit对应一个英文字符
8bit=》1Byte
2、GBK:可以识别中文字符串与英文字符
特点:采用16bit对应字符,该字符可以是英文字符、也可以是中文字符
3、shift-JIS:可以识别日文字符与英文字符
4、Euc-kr 可以识别韩文字符与英文字符
5、unicode:可以识别万国字符
特点:2Bytes对应一个字符
6、utf-8:unicode 的精简版
1Byte对应英文字符
3Byte对应一个中文字符

				    输入										内存										硬盘

群雄割据 英文字符---------------------ASCII二进制数--------------->ASCII二进制数
中文英文字符--------------GBK二进制数------------------>GBK二进制数
日文英文字符--------------shiftJIS二进制数--------------->shiftJIS二进制数
韩文英文字符--------------Euc-Kr二进制数--------------->Euc-Kr二进制数
过渡阶段 中文英文字符------------unicode=gbk=====>GBK二进制数
日文英文字符------------unicode=shifJIS===>shiftJIS二进制数
韩文英文字符------------unicode=Euc-Kr===>Euc-Kr二进制数
万国字符------------------unicode=utf-8=====>utf-8二进制数
分久必合 万国字符------------------unicode=utf-8=>=utf-8二进制数
最终形态 万国字符------------------utf-8
===============>=utf-8二进制数

乱码问题:
1、存的时候乱了:采用的字符编码表无法识别输入的字符
存的时候就已经乱了,是无法补救的,取的时候一定也乱了
解决方法:存入硬盘的编码格式应该用utf-8格式
2、存的时候没有乱码:采用的字符编码表可以识别输入的字符
但是取的时候乱码了:采用的字符编码表与当初存的时候用的不是同一张表
解决方法:存的时候用什么编码,取的时候一定要用同样的编码格式
与运行python程序有关的乱码问题:
1、保证运行python程序的前两个阶段不乱码
在python文件的开头加一行:
#coding:文件存的时候用的编码格式
2、保证第三个阶段不乱码
使用python3
如果使用的是python2,应该在符串前加前缀u
python解释器默认的编码:
python3:默认utf-8
python2:默认ASCII码
注:Windows默认编码为gbk
python3字符串类型在内存中存成Unicode格式的二进制
补充内容:python 3 字符编码的内置方法
变量名.encode(‘编码表’):Unicode二进制——>编码encode——>其他格式的二进制
变量名.decode(‘编码表’):Unicode二进制——>解码decode——>其他格式二进制

二 .文件处理
什么是文件:
文件是操作系统提供给用户/应用程序操作硬盘的一个虚拟单位(功能)
为什么用文件
存取数据必须使用文件
如何使用文件:
f = open(文件路径,打开模式)
f.文件操作
f.close()

绝对路径:从头到尾很详细的路径
相对路径:相对于当前执行文件所在的文件夹

打开模式:t 文本模式,仅用于文本文件,该模式下需要确认编码格式
b binary模式,可用于所有文件,该模式下默认得到的都是二进制数字,不需要确认编码格式,如要转换成字符,需要自己添加解码操作.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值