unicode、utf-8 各种字符编码的自我解读


            由于计算机只能认识 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』

     从此以后,中华民族的文化就能在计算机时代传承了。。。

   【未完待续】


   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值