一文带你了解编码集

python

编码

1. ASCII编码:

127个字母 8个数据位足够存储字母、数字、符号,最大支持到0x7F。

2. GB2312编码  

每个汉字占据2个字节(高位和低位),16个数据。GB2312是对ASCII的中文扩展,共包含7000多个汉字。是计算机发展到中国后发展起来的编码,检测高位和低位,如果同时大于0x7F,则认为是GB2312,否则认为是ASCII编码。

相关推荐:《Python相关教程》

3. GBK(1995)和GB18030(2005/2000)

每个汉字占据2个字节,由于汉字的数量太大,GB2312不能满足需求。GBK包括了GB2312的所有内容,

同时增加了近20000个新的汉字(包括繁体)和符号 。只要求高位大于0x7F,低位可以小于0x7F,认为是中文。 

>  国家标准GB18030-2000《信息交换用汉字编码字符集基本集的补充》是我国继GB2312-1980和

GB13000-1993之后最重要的汉字编码标准,包含多种我国少数民族文字,其中收入汉字70000余个。

4.Unicode编码 

> 定长存储, 将所有语言都统一到一套编码集,通常使用2个字节,有的是4个字节。收录很全。

分为17个面,基本面采用2个字节,普通中文子也在基本面中,另外16个面是4个字节。

不兼容ASCII码,即存储的时候,对ASCII码前面补0,导致存储的数据变大。

5. utf-8---变长存储

> 国际标准组织(ISO)制定英文字符使用1个字节,沿用原来的ASCII码。

> 使用1~4个字节表示一个符号,中文存储使用3个字节(ascii码中的内容用1个字节保存欧洲的字符用2个字节保存东亚的字符用3个字节保存特殊符号用4个字节)

> Unicode是内存编码表示方案(规范),而utf-8是如何保存和传输Unicode的方案(实现)

> 优点:虽然内存汇总的数据都是Unicode,但当数据保存到磁盘或者用于网络传输时,使用utf-8会节省更多的流量和硬盘空间。

如何判断几个字节表示一个字符:

每个字节添加识别位,其中高位识别位为4位,低位识别位为2位。判断高位字节开头有几个1,可以确定共有几个字节来表示一个字符。

6. utf-8和Unicode对应关系

utf-8去掉识别位,变成unicode。

以上是 一文带你了解编码集 的全部内容, 来源链接: utcz.com/z/522202.html

回到顶部