python语法_字符编码

二进制:

ascll:只能存英文和拉听字符,一个字符占一个字节,8位

gb2312:只能存6700多个中文,1980年

gbk1.0:能存2万多字符,1995年

gbk18030:2000 27000万字符

unicode:统一各个国家的编码,万国码。每个字节占四个字节,

最初表现形式utf-32,一个字符占4个字节,后面出现了utf-16,一个字符占2个字节或者2个以上(65535个字符),

最后出现utf-8:英文用ascll来存,一个中文占三个字节,其他文字有占2个字节的。

所有的在中国发行的软件都必须支持gb18030字符编码。

计算机里,unicode 称呼为万国码,可以作为中间语言用于不同编码的软件进行交互。

把gpk 转成unicode,为编码encode,

gbk将unicode编码的代码转换成gbk能理解的,为解码decode

in python2

默认编码为ASCII编码,写中文的时候,必须先声明 -*-coding:utf8-*-

GBK 转换成UTF-8流程:

1 gbk 通过decode 成unicode编码.

2 unicoe 通过encode 成utf-8编码

in python3

所有文件的默认字符编码为unicode,所以在编码时可以直接编码成所需的编码类型,不需要先decode了

但是如果unicode 去转换成gbk,显示的就是bytes了,其实unicode默认就支持中文的,没什么非常的必要,不需转成gbk  

encode 在编码的同时,会把数据转换成bytes类型

decode 在解码的同时,会把bytes转换成字符串类型

b =bytes 字节类型 一种数据类型,不同

上一篇:[Android Pro] Android 打包流程


下一篇:Python模块学习------ 多线程threading(1)