字符编码

计算机工作就要通电,也就是说‘电‘驱使计算机干活,而电只有高电压(二进制1),低电压(二进制0),也就是说计算机只认数字。

编程的目的就是让计算机干活,编程的结果就是一堆字符,也就是我们编程最终实现的是:一堆字符驱动计算机干活呢。

1:python解释器是执行文件内容的,因而python解释器具备读py文件的功能,

这一点与文本编辑器一样。

2:与文本编辑器不一样的地方在于,python解释器不仅可以读文件的内容,

还可以执行文件内容。

字符------------à(翻译过程)----------------à数字

这个过程实际就是一个字符如何对应一个特定的数字标准,这个标准称之为数字编码。

一:ASCLL:

一个Bytes=8bit--------------à可以表示为2**8种变化

00000000-------------à0------------------à’a’

00000001-------------à1------------------à’b’

10101010

1*(2**8)+1*(2**6)+1*(2**4)+1*(2**)

ASCLL:最初只有七位,127个数字。

为了将拉丁文也编码进ASCLL中,将最高位也占了。

二:为了满足中文,中国人定制了GBK。

GBK:2Bytes代表一个字符。

日本----------shift_JIS

韩国----------Evc-kr

三:Unicode,统一用2(2Bytes)位代表一个字符。(万国编码)

优点:转换速度快。

缺点:占用空间大。

2**16=65536,可代表多个字符。

1Bytes    =    8bit

1Kb      =     1024Bytes

1MB     =     1024KB

1GB      =     1024MB

1027TB   =     1024GB

1GB      =     1024*1024*1024*1024*8

四:UTF—8(可变长的字符编码)-----------à精准,对不同的字符用不同的长度表示。

优点:节省空间。

缺点:转换速度慢。

对英文字符只用1Gytes,对中文只能用3Byte

   1内存中使用的是Unicode,用空间换时间(程序都需要加载到内存才能运行,因而内存要尽可能的快)

        2:硬盘中或者网络传输用Utf_8,保证数据传输的稳定性。

Unicode---------àencode-----------àutf-8

Utf-8---------àdcode------------àunicode

   结论:用什么编码存,就用什么编码取。

          Python3解释器中,默认的字符编码是Utf-8

          Python2解释器中,morn的是ASCII

          

05-11 04:23
查看更多