由于计算机只能认识 0 ,1 所有文件都是以 0,1 的形式的在计算机中保存的。 因此,我们所使用的语言文字 ,标点符号表情就没办法直接存储 。因此就需要对我们的语言文字标点符号进行编码,编成0,1 的形式 一一对应保存 比如 0100 0001 的存储就是表示大写 'A' ; 0100 0010 就是表示大写 'B' 非常不错的主意,把字母和能0,1 一一对应起来了。
最开始的美帝 拿 8 位二进制 0000 0000 来表示(首位没算进去,相当于7位二进制,能保存 128 个字符),就能表示他们所用的26 个英文字母的大小写 和 空格 ,各种标点符号,这就是 『ASCLL 编码』
本来是过的好好的,后来全世界各个国家都开始使用计算机后就发现问题了。。。什么希腊字母,数学上用的很多的Σ,α,β 这些当初没考虑进去,还有据说上面标有音调的法语也没算进去啊,这下大家不干了,于是把之前没用到的一位用上去了,真正的是 8位二进制来表示,这些就能表示256个字符了 这就是『扩展ASCLL字符集』
世界又平静了一段时间,当然这都是我们当时所不知道。。。
等到中国人开始使用计算机的时候,一看傻眼了, 7位不够,人家开了第八位,如今把第八位都用光了,还是没能表示我们汉字,不干不干,中国的汉字怎么能不显示
常用汉字就有6000 多个,再开一位也是不够的。。。所以我们就规定开了16位,也就是两个字节来表示。 并且毫不客气的把之前7位的ascii 字符也按照原来位置编写进去了,只不过在前面加0补充成16位。也就是说:规定小于 127的字符和原来意义相同,但是两个大于 127 的连在一起就表示一个汉字。前面的一个字节(高字节),从0xA1 ~ 0xF7 后面一个字节(低字节)从0xA1 ~ 0xFE 这样就可以组合出 7000 多个简体汉字了。非但如此,我们还把 数学符号,希腊罗马字母,日语的假名也包含进去了,连着之前在ascii 就有的数字,标点,字母 都编了两个字节的长度。这就是常说的『全角』,而原来127 号一下的就叫做『半角』。
这样就和谐多了。。。取个名字吧,就叫 『GB2312』编码。
但是过了没多久,又有人不干了,中国的汉字实在是太多了! 有些人的名字没办法在电脑里打出来,于是我们不得不把『GB2312』当初没有用上的码位找出来用上。
后来发现还是不够用,就干脆不再要求低字节是127后的内码,只要,只要第一个字节,第一个字节大于127 就固定表示一个汉字的开始。这样扩展之后的编码,就叫做『GBK』编码,『GBK』的这次扩展,新增了近2000 个汉字(包括繁体)和符号
又和谐了一段时间。。。又有人不高兴了 少数民族的兄弟也要用电脑了啊,好吧,那么我们再扩展,又加了几千个少数民族的文字,把『GBK』扩展成了『GB18030』
从此以后,中华民族的文化就能在计算机时代传承了。。。
【未完待续】