​什么是计算机编码

2024-12-05 18:05 来源:风向网 点击:

什么是计算机编码


计算机编码有很多,编码不统一会乱码。下面带你走进计算机编码,了解编码的本质和由来,帮助新手程序员更好的解决文件乱码问题。

说到计算机编码,首先我们聊一下计算机编码的来源:我们很多人都应该知道,计算机只能识别1和0,也就是说计算机只能处理二进制的数据,比如101010101这样的数据。

为了让计算机去识别其他数据,比如比如0-9,a-z,A-Z,等等一些字符,我们是需要制定一套规则来表示的,比如A用1110来表示,B用1111来表示,制定了这样的规则后,计算机就可以去实现识别其他字符了。那么这套规则就叫做计算机编码。

所以计算机编码就是计算机2进制数字和其他字符的映射的关系。

下面我们就来聊一下计算计中常见的计算机编码:

1、ASCII码

最开始,美国国家标准协会制定了一种编码,称为ASCII码。

这种编码方式是用一个字节(8位数二进制)来表示一个字符,理论上共可以表示2^8=256个字符。因为美国国家语言是英语,只要能表示0-9,a-z,A-Z,特殊符号就可以了。所以这种编码对美国等使用英语的国家是非常适用的。

2、ANSI编码

但是对于其他国家来说,比如中国,我们的汉字数量是非常多的,256个字符完全不够用,所以很多国家为了显示本国的语言,都对ASCII编码进行了扩展,使用2个字  节进行表示(16位二进制数,理论上可以表示2^16=65536个字符),统称为ANSI编码,这其中有:

GB2312:中国的GB2312码,它包括了6763个汉字,600多个字符。

GBK :后来为了一些罕见的字符,我们国家有对GBK2312进行了扩展,用来显示罕见的,古汉语汉字(已经收录了2.1万个,K的含义就是扩展的意思)

JIS :日本的 JIS码

BIG5 :台湾的BIG5(繁体字)

等等…

3、Unicode码

后来为了解决传统的字符编码方案的局限性,和兼容性问题,产生了Unicode编码,它用4个字节(32位二进制)表示一个字符,解决了兼容性问题,虽然想法很不错,但是效率太低。

4、utf-8码

是一种针对unicode的可变长度的字符编码,可以说是对Unicode码的改进,又称为万国码。比如a-z用一个字节表示,但是汉字用3个字节表示。既减少了长度,又保证了兼容性。

结束语:所以utf8成为了我们现在使用最多的一种编码方式!