• 字符集研究之多字节字符集和unicode字符集


    作者:朱金灿

    来源:http://blog.csdn.net/clever101

     

            本文简单介绍计算机中两大字符集:多字节字符集和unicode字符集的出现及关系。

     

            首先我们需要明白的是计算机是如何找到字符的,原来计算机通过一个字符编号来找到字符,这个和学校里每个学生都有一个学号类似。这里的字符编号和对应的字符就构成了一个字符集。因为计算机最早是在英语国家诞生的,大多数英文信息是由英文字母、数字以及一些其它字符构成了一个128个字符的ASCII字符集。本来这对于英语国家来说够用了。但是随着计算机的普及,非英语国家的文字字符也需要用计算机来存储,这时字符集就需要一种扩展机制了。一种简单的扩展机制就是兼容ASCII字符集,在后面加上自己的编码。可以想象,不同字符的编号长度是不一样的,有些是两个字节,有些是三个字节甚至四个字节等等。这样的字符集就叫多字节字符集。多字节字符集就是多种字符集的统称,比如中文字符集GB2312和GBK、日文编码JIS都是多字节字符集。

     

            由于多字节字符遵循的是各个国家的编码,要进行信息交换必须进行繁琐的转换。这时就有人想:有没有一种编码规则,能给全世界的字符都编上统一的编号呢?就这样unicode字符集诞生了。unicode字符集顾名思义就是每个字符都有一个唯一的编码。最早的unicode字符是采用两个字节也是16位对字符进行编码(也就是能够对65536个字符进行编号),故被称为utf-16。后来发现大多信息都是英文构成的,为了节省空间,同时为了兼容单字节的处理系统,就出现了一种变种的unicode字符集——utf8。utf8的实现原理和多字节字符集一样,前面是128个子符是ASCII字符,后面的采用变长的编码方式,就是一个字符可能用两个字节、三个字节或四个字节进行编码。再到后面发现16位的编码也不够用了,采用32位编码,这样就出现了utf-32。


    参考文献:

    1. Unicode字符集和多字节字符集关系

  • 相关阅读:
    insert sort O(n2)
    JJ数据
    quick sort O(logn)
    TSQL语句之case when then 多条件判断
    C#使用LitJson解析JSON
    终止线程 Response.End 在Asp.net 里面的正确使用
    TSQL操作MSSQL2008 SQL备份与还原数据库
    C#/.NET 条件合并两个DataTable
    JavaScript学习之一JavaScript浏览器对象模型详解window对象(上)
    跟老邓一起学Windows Phone7开发(一)第一个程序
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469948.html
Copyright © 2020-2023  润新知