目录
字符编码
字符(存储了信息的东西)编码()
键盘发送的是电流--》主机(内存)接收到电流(当作01010101)--》显示屏 接受电流(当作01010101--》键盘)
编码:0101010101--》键盘
文本编辑器存储信息的过程
文本编辑器--》写文本--》存储信息
显示屏(内存)--》(转换)硬盘
ASCII编码
由美国人创造
# ascii编码的转换关系的方法
print(chr(65)) # A
print(ord('a'))
Unicode编码
unicode可以认识万国编码
unicode存的时候多占用空间,所以出现了utf8(只和unicode对应)--》解决了unic内存占用的问题
utf8和gb2312/Euck都没有转换转换关系
gb2312和gbk的区别
虽然两者都是中文对应的编码
gb2312--》常用词
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*-
python2和python3的编码区别
假设python2用coding指定的gbk存储变量,终端支持的编码是utf8,乱码
假设python2用unicode(u'中文')存储变量,终端支持的编码是utf8/gbk,都不会乱码
假设python3用unicode存储变量,终端支持的编码是utf8/gbk,都不会乱码