经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Java » 查看文章
一文搞懂字符集编码详细介绍
来源:cnblogs  作者:码蚁小强  时间:2018/10/9 10:15:45  对本文有异议

在线学习:

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

一、字符集的由来

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

二、ASSCII

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

三、unicode

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

四、UTF-16

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

五、UTF-8

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

六、GB2312

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

七、GBK

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

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号