美文网首页
来撸一撸字符编码

来撸一撸字符编码

作者: allenslife101 | 来源:发表于2021-11-03 17:33 被阅读0次

    ASCII码 和 unicode编码

    0和1的故事这里就不赘述了。

    ASCII码:简单的说,就美国佬们为了用0/1机器语言来区分英文字母、数字和符号,而设计的编码,用一个字节也就是8位,2的8次方,256个数字就够用了。其实刚开始只用到了7位,即最前面一位是0,就够用了。计算机普及到其他国家的时候,又出现了其他字符,又把第8位用了。

    gbk/gb2312:但像中国这样的国家,256个数字远远不够用。中国常用汉字就6K+,于是乎,鸡贼的中国人民有了自己的解决方案,用两个字节来表示。如果一个字节他的值是小于等于127的(7位,8位中的第一位肯定是0),则和原来的意义一直,即ASCII码值;但如果两个连在一起的字节都是大于127(8位中第一位是1)的,则他就是汉字。然后将我们的汉字进行分区,每个区94个汉字。gb2312就以第一个大于127的字节作为区,后一个大于127的字节作为第几位,通过这种区位码的形式,对6763个常用汉字来制定了新的编码。但中国的汉字远远不止这些,后来就又有了gbk编码,即对gb2312的扩展。中国博大精深的文字,后面又应运而生的出现了gb18030可变字节编码,具体规则是啥就不啰嗦了。

    unicode:和中国汉字一样复杂的国家还是有的,于是各国都出现了一套自己的编码。当这样就非常不利于交流了,于是乎,美国佬们又搞了一套世界通用的unicode编码,来包含全世界的文化,即所谓的地球村。刚开始制定unicode编码时,很简单粗暴,用两个字节来表示,这时就可以组合成65535个字符了。但值得注意的是那127个ASCII都由原来的8位改成了16位来存储,存储技术的发展让大家都成了土财主。再后来新的标准又变成由4个字节来表示一个字符了,一下子膨胀到了2亿多个,可以支持银河村的沟通交流了吧。但这里只是一个字符集,因为互联网的强盛,慢慢的存储问题和信息传输又出现了问题。

    UTF-8:一种变长的编码方式。使用1~4个字节来表示一个符号,根据不同的符号而变化字节长度。首先,如果是单字节的,第一位是0,后面7位对应不同字符,这样就和ASCII兼容了;然后,如果是多字节的,则第一个字节的前N位表示字节长度,仅接着第N+1位是0,后面的几个字节的前两位是10。


    相关文章

      网友评论

          本文标题:来撸一撸字符编码

          本文链接:https://www.haomeiwen.com/subject/oucczltx.html