编码day08

字符(存储了信息的东西)编码()

键盘 发送的是电流--》 主机(主机)接收到的是电流(当作01010101010) --》显示屏 接受电脑(当作01010101010--》键盘)
编码:01010101010 --》键盘

文本编辑器存储信息的过程

文本编辑器--》写文本--》存储信息

显示屏(内存) --》(转换)硬盘

中文 --》00101101001010

english-》111110000

手纸-》 00000011111

早期 美国人 才用计算机

0->a

1->b

ascii编码--》美国人

# ascii编码的转换关系的方法
print(chr(65))
print(ord('a'))

日本有自己的编码。韩国有,中国也有了--》gb2312

这个时候就出现了unicode编码(一种对应关系)
unicode可以认识万国编码

硬盘中无论躺着什么格式的编码文件,unicode都可以识别。

假设看日本的文件,从硬盘中读取日本编码,然后unicode识别,unicode帮你转换成gb2312,

解决了乱码的问题,用unicode存,用unicode取,之后代码都是unicode

但 unicode存的时候占用空间,所以出现了utf8(只和unicode一一对应)--》解决了unicode内存占用问题

现在在的电脑都是这样--》**内存中unicode取,存用utf8存(硬盘),全世界的人写代码/写文件都是用utf8

内存中为什么不用utf8?uf8和gb2312/日本编码都没有转换关系,因此内存都要用unicode

未来迟早有一天,内存要用utf8

gb2312和gbk的区别

gb1312-->常用词

gbk-->所有字

windows系统的记事本默认编码是 gbk,除此以外都是utf8

用什么编码写,就用什么编码读

写用utf8,存用utf8,读用gbk--》乱码

写用utf8,存用gbk--》乱码。读用--》

编码和解码

unicode编码--》(编码)utf8 从内存到硬盘

utf8 --》(解码)unicode从硬盘到内存

现在内存只有unicode编码

python解释器(文本编辑器)解释python代码的流程

1、python解释器相当于文本编辑器,把代码读入python解释器--》字符编码-》python2默认是ascii,python3默认utf8--》上coding头

中文 # gbk编码的中文加

2、识别代码--》print有意义--》语法问题

# coding:gbk  # 告诉python解释器用gbk去完成第一步,读入字符
中文

3、产生结果--》跑到终端--》字符编码

终端有一个特性:你的电脑是什么编码,就按照什么编码来,windows终端是gbk

代码除了编码错误,首先加 # -* coding:utf8 *-

猜你喜欢

转载自www.cnblogs.com/shin09/p/11537389.html