Fork me on Gitee

day 10 python字符编码

python 字符编码:
编码:从人类认识的字符通过 编码表一一对应转换为编码表上面的机器码,这种方式称为编码
解码:把通过编码表转换为的0101的机器码再通过编码表,一一对应,把机器码再转化为人类能识别的字符这个过程叫做解码
python 中存在的几种编码方式:
1、ASCII
Python2解释器默认编码方式,Python2通过ASCII编码把字符转化为01的机器码,这种编码方式只能识别英文和英文字符

2、utf-8
python3解释器默认的编码方式,Python3通过ASCII编码把字符转化为01的机器码,utf-8能识别所用到的一切字符
100000010
一个Bytes 有八个二进制位组成,其中二进制位的最高位为标识位,标识位为1,代表是中文字符,会和接下来的另外一个Bytes和成一个二Bytes的中文字符
如果二进制位最高位为0,代表二进制代表的是英文字符,英文字符只会使用一个Bytes。

3、文本文件中存在的乱码行为:
3、1
存乱: 要存入硬盘的字符 不能被所使用的编码方式识别,此时会产生乱码,这种方式是致命的出现乱码之后无法恢复为原字符
取乱: 要读入内存的字符 使用的字符编码 和解码使用的编码方式不同,此时会产生乱码,这种方式不致命不会更改硬盘中的原字符

python3 中存入硬盘和读入内存的方式都默认为utf-8所以不会产生编码错误
python2 中存入硬盘的方式为ASCII,而pychrm的默认解码方式为utf-8所以会产生乱码,而且ASCII不能识别除英文和英文字符以外的其他字符,遇到字符串赋值时如果有中文,也会出现乱码
解决python2 乱码的方式:
1:头部 coding:utf-8
2:字符串赋值 要在字符串前面加上一个小写的u
pycharm 中显示的字符都是用unicode来解码的,所以在pychrm
中不会出现乱码,而从pychrm里面,把字符存入硬盘既从字符到二
进制的机器码所用的默认方式是utf-8,既通过utf-8编码表,把
内存中的字符通过编码表一一对应成为机器码,这个过程叫做编码
从硬盘读入内存就是utf-8
的二进制机器码再通过utf-8编码表,把二进制一一对应成为人类
能识别的字符,这个过程叫解码

posted @ 2021-03-16 21:47  Edendd  阅读(62)  评论(0)    收藏  举报
动态线条
动态线条end