计算机字符编码总结

简介: ASCII,GB2312, GBK,GB18030,UNICODE,UTF8等计算机编码方式介绍。

计算机底层数据存储和运算最终都是使用二进制表示(计算机用高电平和低电平分别来表示1和0)。

1.ASCII码

在最初美国发明计算机后,为了能在计算机中表示大小写英文字母,0-9数字和各种特殊符号,以及换行符,删除符号等,所以发明了ASCII码。

ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年。采用了8位编码规则,即使用8位二进制来表示以上各种符号,不过以上各种符号只需使用前面7位即可满足需求(即128个数字),所以后面的128个数字用过预留。、

所以使用ASCII编码,一个字符占用1bytes(即8bits)。


  1. GB2312

后期,当电脑引入中国后,就需要一套中文的编码方式来表示中文。所以在1980年,中国将常用的7445个字符,包括6763个汉字和682个其它符号收入GB2312编码规则。GB2312使用二维矩阵方式编码,使用了一个94*94的矩阵表示。并且GB2312编码为了保证不与ASCII码冲突,所以在每隔字节的最高位置1与ASCII码区分。即最高位是0表示未ASCII码,最高位是1表示未GB2312编码。


  1. GBK

GBK也是使用2bytes编码,是对GB2312的一种扩充。。经过GBK编码后,可以表示的汉字达到了20902个,另有984个汉语标点符号、部首等。值得注意的是这20902个汉字还包含了繁体字。


  1. GB18030

当GBK也不能满足我国对字符的需求的时候(原本2字节最多可以表示65535个字符,但是因为每隔字节最高位为不与ASCII码冲突,所以只能为1,这样能表示的字符就减少了1半,只有3w多个字符),所以我国采用了4字节编码方式的GB18020编码。同时为了不与 ASCII编码和GBK编码冲突,GB18030编码 GB18030编码的中文文件已经有七万多个汉字了,甚至包含了少数民族文字


  1. unicode

因为全世界语言众多,不通国家拥有自己的一套编码方式,导致编码规则混乱。最后, ISO(国际标准化组织)发布了一套全世界统一的标准编码方式,unicodeUniversal Multiple-Octet Coded Character Set”,简称 UCS, 俗称 “unicode“。unicode统一使用2字节编码,包含全世界所有字符。


6.utf8

unicode统一了全世界所有的字符,但是也随之带来些问题。以前用8位就可以存储的英文字符,现在就需要16位,白白浪费了1倍的空间。另外,以前编程使用GB2312等编码方式,8位可以表示的一个字符,在unicode里面需要2位表示。在unicode中,一个字符就是两个字节。一个汉字算两个英文字符的时代已经快过去了。


为解决以上问题,出现了utf8编码方式。TF-8就是每次8个位传输数据。UTF-8就是在互联网上使用最广的一种unicode的实现方式

UTF-8就是在互联网上使用最广的一种unicode的实现方式,这是为传输而设计的编码,并使编码无国界,这样就可以显示全世界上所有文化的字符了。UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度,当字符在ASCII码的范围时,就用一个字节表示,保留了ASCII字符一个字节的编码做为它的一部分,注意的是unicode一个中文字符占2个字节,而UTF-8一个中文字符占3个字节)。从unicode到utf-8并不是直接的对应,而是要过一些算法和规则来转换。



相关文章
|
7月前
|
存储 编解码 算法
计算机编码
计算机编码
101 0
|
3月前
计算机使用的二进制
计算机使用的二进制
53 15
|
4月前
|
存储
字符编码问题之计算机需要编码转换过程如何解决
字符编码问题之计算机需要编码转换过程如何解决
35 0
|
7月前
|
存储 算法 量子技术
计算机为什么采用二进制
计算机为什么采用二进制
1024 0
|
7月前
|
存储 JavaScript Java
[字符编码] 理论篇:常见字符集与编码方式
[字符编码] 理论篇:常见字符集与编码方式
181 0
【408计算机组成原理】—字符与字符串(四)
【408计算机组成原理】—字符与字符串(四)
|
存储 编解码 JavaScript
一文打通计算机字符编码
一文打通计算机字符编码
带你读《全景揭秘字符编码》之三:三、为什么计算机需要编码?(1)
带你读《全景揭秘字符编码》之三:三、为什么计算机需要编码?(1)
258 0
|
存储
带你读《全景揭秘字符编码》之三:三、为什么计算机需要编码?(2)
带你读《全景揭秘字符编码》之三:三、为什么计算机需要编码?(2)
209 0
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(4)
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(4)
184 0