• 一文搞懂字符集编码详细介绍


    在线学习:

    [撩课-JavaWeb系列1之基础语法-前端基础]
    [撩课-JavaWeb系列2之XML]
    [撩课-JavaWeb系列3之MySQL]
    [撩课-JavaWeb系列4之JDBC]
    [撩课-JavaWeb系列5之web服务器-idea]

    一、字符集的由来

    计算机只能识别二进制代码
    无论是计算机程序还是数据,
    最终都会转换成二进制,
    计算机才能认识。
    
    为了计算机不只能做科学计算,
    也能处理文字信息。
    
    人们想出了给每一个文字符号编码
    以便于计算识别处理的办法,
    这就是计算机字符集的由来。
    

    二、ASSCII

    一套文字符号及其编码,比较规则 的集合。
    20世纪60年代初
    美国标准化组织ANSI发布了第一个字符集。
    ASCII
    
    后来又进一步变成了国际标准ISO-646
    各大字符集
    自ASCII后。
    
    为了处理不同的文字。
    各大计算机公司,各国,标准化政府,
    组织先后发明了几百种字符集。
    
    `ISO-8859`
    `GB2312-80`
    `GBK`
    `BIG5`
    
    这些五花八门的字符集
    从收录的字符集到编码规则各不相同。
    
    给计算机软件开发和移值
    带来了很大的困难。
    
    一个软件要在使用
    不同文字的国家和地区发布,
    
    必须得要做本地化开发。
    基于这个原因,要统一字符编码。
    

    三、unicode

    为了统一字符编码。
    国际标准化组织ISO的一些成员国于1984年
    发起制定了新的国际字符集标准。
    容纳全世界各种语言,文字,和  符号。
    
    最后这个标准ISO-10646
    ISO-10646发布后,
    遭到了美国计算机公司的反对。
    
    1988年,Xerox公司提议制定了
    新的以16位编码人统一字符集。
    
    并联合不Apple,IBM,SUN,Microsoft等
    公司成立了Unicode技术委员会。
    专门负责收集,整理,和编码。
    
    于1991年推出了Unicode1.0
    都是为了字符编码统一问题,
    ISO和Unicode协会推出了连个不同人标准。
    
    这显然是不利的。
    后来双方开始谈判。
    
    1991年10月达成协议。
    ISO将Unicode收编。
    起了个名BMP
    

    四、UTF-16

    ISO-10646编码空间足以容纳
    从古自今使用过的文字和字符。
    
    但很多文字字符已经很少用了。
    超过99%的在用文字字符都编入了BMP.
    
    因此,绝大部分情况下。
    `Unicode`双字节方式都能满足需求。
    
    而且比双字节编码方式4字节原始编码来说,
    更节省内存和处理时间 。
    
    这也是`Unicode`流行的原因。
    `Unicode`提出了`UTF-16`的解决办法。
    

    五、UTF-8

    虽然UTF-16解决了上面问题。
    但当时的计算机和网络世界还是ASCII的天下。
    
    只能处理单字节数据流。
    UTF-16离开了Unicode环境后。
    
    在传输和处理中,
    都存在问题。
    于是又提出了UTF-8的解决文案,
    `UTF-8`按一定的规则,
    将一个`ISO10646`或`Unicode`转换成1至4个字节的编码
    其中ASCII转成单字节编码。
    也就严格兼容了`ASCII`字符集。
    `UTF-8`的2,3,4字节
    用以转换ISO-10646标准的UCS-4原始码。
    

    六、GB2312

    《信息交换用汉字编码字符集》是由中国国家标准总局1980年发布,
    1981年5月1日开始实施的一套国家标准,
    标准号是[GB 2312]—1980。
    GB2312编码适用于汉字处理、
    汉字通信等系统之间的信息交换,
    通行于中国大陆;
    新加坡等地也采用此编码。
    中国大陆几乎所有的中文系统
    和国际化的软件都支持GB 2312。
    
    基本集共收入汉字6763个
    和非汉字图形字符682个。
    整个字符集分成94个区,
    每区有94个位。
    每个区位上只有一个字符,
    因此可用所在的区和位来对汉字进行编码,
    称为[区位码]
    
    

    七、GBK

    GBK全称《汉字内码扩展规范》
    GBK即“国标”、
    “扩展”汉语拼音的第一个字母
    GBK 向下与 GB 2312 编码兼容,
    向上支持 ISO 10646.1[国际标准]
    是前者向后者过渡过程中的
    一个承上启下的产物。
    GBK编码,是在[GB2312-80]标准基础上的
    [内码]扩展规范,
    使用了双[字节编码方案,
    其编码范围从8140至FEFE(剔除xx7F),
    共23940个码位,共收录了21003个汉字,
    完全兼容[GB2312-80]标准,
    支持国际标准ISO/IEC10646-1
    和国家标准`GB13000-1`中的
    全部中日韩汉字
    并包含了`BIG5`编码中的所有汉字。
    

     

  • 相关阅读:
    Hibernate系列教材 (五)- 基础
    Hibernate系列教材 (四)- 基础
    Hibernate系列教材 (三)- 基础
    Hibernate系列教材 (二)- 基础
    Hibernate系列教材 (一)- 基础
    Spring系列教材 (六)- 注解方式测试
    LDU20级新生排位赛第三场
    POJ3678——Katu Puzzle(2-SAT)
    进阶指南图论——闇の連鎖 I. 黑暗的锁链(树上差分+LCA)
    2021年度训练联盟热身训练赛第一场——Early Orders(单调栈)
  • 原文地址:https://www.cnblogs.com/gxq666/p/9758284.html
Copyright © 2020-2023  润新知