字符编码

什么事字符编码?

字符——编码(字符编码表)——》二进制

ASCII:只能表示英文字符,用一个1个Bytes 对应一个英文字符

内存:ASCII

硬盘:ASCII

保证不乱码精髓,用什么编码,用什么解

GBK:可以表示中文和英文字符,用一个Bytes对应一个英文字符,用两个Bytes对应一个中文字符

内存:GBK

硬盘:GBK

Shift -jis

Euc -kr

每个国家的计算机编码不统一

unicode:也已对应万国字符,统一用2Bytes对应一个字符

内存:unicode

两大特点:

1.可以兼容万国字符

2,与万国字符编码都有一种数字与数字的对应关系

GBK数字——————解码decodde——————》unicode数字

GBK数字《——————编码encode——————unicode数字

utf-8:

3个Bytes 对应一个中文

1个Bytes 对应一个英文字符

**保证不乱码的关键,当初生么编码,就以什么解码**

计算机只使用UNICODE与字符的对应关系

python test.py

在python2 中

1,(第二个阶段)解释器默认将test.py 当做普通文本读入内存时使用的是ASCII

2,有两种中字符串类型

str: str = ’上‘#文件制定格式的二进制

Unicode:x = u'上'#存成unicode1格式的二进制

在python3 中

1,(第二个阶段)解释器默认将test.py 当做普通文本读入内存时使用的是UTF -8

2,(第三个阶段,开始识别语法),字符类型的值开哦你一个内存空间,存入unicode,python3中str是unicode编码的二进制,在任何一个解释器都不会乱码

3.字符类型:str : s = "上"#存成unicode格式的二进制

4,字节串,等同于二进制

如何让解释器知道文本编码时候的方式

#coding:utf-8

文件头——告诉解释器不要用默认编码,用头文件指定编码解释

运行python解释器分为三个阶段:

1,python解释器代码从硬盘刷到内存

2,py文件从硬盘刷到内存

3,解释器去内存读取python文件,识别语法执行操作

posted @ 2019-11-08 21:57  D山仙  阅读(188)  评论(0编辑  收藏  举报