UTF-8、UTF-16、Unicode、GB2312、GBK、GB18030一次说清楚

这篇具有很好参考价值的文章主要介绍了UTF-8、UTF-16、Unicode、GB2312、GBK、GB18030一次说清楚。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、关于存储编码和显示编码的区别。
Unicode是显示编码,UTF-8、UTF-16、GB2312、GBK、GB18030都是存储/传输方面使用,也叫做存储编码、处理编码,你在计算机上看见的所有文字都从存储编码转成显示编码后,显示出来,当你单机保存时又从显示编码转换为存储编码存储起来。

2、为什么要区分存储编码和显示编码?
目前是为了节约存储空间和节约传输带宽,自古以来磁盘存储资源和传输资源都是需要昂贵代价的,虽然Unicode编码很好、覆盖很全、被称为万国码,但是它的编码并不节约空间,Unicode编码对应的存储编码的实现是UTF-16,也就是说UTF-16基本等于Unicode,和Unicode一样不节约空间,因为UTF-16不够节约空间,这就产生了UTF-8编码。UTF-8编码比Unicode节约空间很多,而且可以做到可Unicode一一映射,已经成为全球使用最广的文字处理编码方式。

3、中国为什么要发展GB2312/GBK/GB18030这些区别于UTF-8的存储编码?
既然UTF-8编码那么优秀,可以和Unicode一一映射,然后又很节约空间,为什么不直接采用UTF-8编码来存储和传输呢?一定要发展GB系列(中国国标系列)的编码呢?
对于一个需要包容全世界语言文字的文件,建议用UTF-8编码来存储和传输,比如一个txt文件里,你既需要放中国汉字,还要在该文件里写入新加坡语文字、德语文字、法语文字、意大利文字,葡萄牙文字,匈牙利文字,那么这个文件肯定是要存储成UTF-8编码格式。但是对于只需要存放中文文字和数字、字母、标点符号的一个文件,用UTF-8编码还不是最节约空间的。GB系列的标准对于汉字的存储和传输比UTF-8编码还节约空间很多,大约节约1/4到1/3左右的存储空间,所以GB系的编码在中国这片大地上很实用,很节省空间、节约带宽。打个最简单的比喻,20个学生的学号,后面的10-20这些人的学号必然是个“2位数”,如果你只有9个学生,那么这9个学生的学号都是个“1位数”,当然就节约空间一些,GB系列的编码不能处理德语、法语等其他国家的文字,它所考虑的范围就少一些,那么它就比UTF-8节约空间。

4、GB2312、GBK、GB18030这三款有哪些区别呢?
GB/T 2312-1980标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。GB2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国大陆99.75%的使用频率。GB2312采用EUC储存方法,以便兼容于ASCII编码,GB2312编码存储的文字,每个符号最多用2个字节,最少用1个字节。它的生命周期就是1980年-1995年.

GBK的全称是《汉字内码扩展规范》(Chinese Internal Code Specification),中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。2000年已被GB18030-2000替代。GBK编码,是在GB2312-80标准基础上的内码扩展规范,使用了双字节编码方案,共23940个码位,共收录了21003个汉字,完全兼容GB2312-80标准。用最简单的话来说就是将GB2312的6千多个汉字扩充到了2万多个汉字,加了日、韩等邻国的常用文字和中文冷僻的人名、古汉语、繁体字等一些字。它的生命周期是1995年-2000年.中文版的WIN95、WIN98、WINDOWS NT以及WINDOWS 2000、WINDOWS XP、WIN7、win10等都支持GBK编码方案。

GB18030是在GBK之后发展起来的, 它是用以替代GBK的一部国家强制性标准,它完全兼容GB2312,基本兼容GBK,它收录的字比GBK多得多,GB18030-2005共计7万余符号,包括了CJK-A、CJK、CJK-B等中日韩统一表义文字。GB18030每个符号可能占1个/2个/4字节,而GB2312和GBK编码的每个符号可能占1个/2个字节。GB18030共发过三版,GB18030-2000是第一版、GB18030-2005是第二版,GB18030-2022是第三版,一版比一版文字多,2005版将于2023年7月31日废止,2022版将于2023年8月1日起实施。

5、GB18030-2005和GB18030-2022有哪些区别呢?
GBK在GB2312基础上收录了CJK-A中日韩统一表义文字,GB18030-2005在GBK基础上收录了CJK、CJK-B等中日韩统一表义文字,GB18030-2022在GB18030-2005基础上增加了CJK-C、CJK-D、CJK-E、CJK-F四部分中日韩统一表义文字和其他少数民族的一些文字,还修改编码映射18个、删除重复映射9个、删除文字6个。

GB18030-2005将符合性级别区分为“强制性部分符合”和“完全集符合”,强制性部分符合测试则约等于 GBK,共计2万多字符;完全集部分则有7万多字符。
GB18030-2022将符合性级别区分为“实现级别1”、“实现级别2”、“实现级别3”;
     实现级别1要测 单字节部分、双字节部分和CJK-A、CJK部分,约等于GB18030-2005的强制性部分。
     实现级别2要测 级别1基础上,加测通用规范汉字表,而通用规范汉字表夹含在双字节部分和CJK-A、CJK、CJK-B当中,而在通用规范汉字表当中且不在实现级别1里的,只有220多个汉字,所以实现级别2只比实现级别1加测约220余个汉字。
     实现级别3要测 级别2基础上,加测CJK-B、CJK-C、CJK-D、CJK-E、CJK-F,实现级别3比实现级别2加测约6万多个符号,共计是8万7千多个汉字。
 文章来源地址https://www.toymoban.com/news/detail-528377.html

到了这里,关于UTF-8、UTF-16、Unicode、GB2312、GBK、GB18030一次说清楚的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详解 ASCII、Unicode、UTF-32 及 UTF-8

    目录 一、ASCII 字符集和编码 二、Unicode 字符集 2.1 - UTF-32 编码 2.2 - UTF-8 编码 2.3 - Python 字符串的 encode 和 decode 方法 计算机只能存储二进制数字 0 和 1,因此无论是文本中的数字、字母、汉字以及 emoji 都需要以某种方式转换成二进制数字进行存储,需要的时候再读出来。 196

    2024年02月15日
    浏览(25)
  • Qt之GB2312\GBK字符与QString转换

    在中国国内与其它数据接口通讯时,经常会遇到GB2312GBK格式的字符,这时需要进行数据格式转换 否则只有ASCII码正常,而其它就是乱码。 在main.c文件下配置UTF-8 QString 为unicode码,转为GBK码 将GB2312/GBK字符串转化为QString

    2024年02月11日
    浏览(41)
  • 如何一键把你的Unity脚本从GB2312编码格式改成UTF8编码格式

    GB2312(全称:中国国家标准GB2312-80字符集)和UTF-8(全称:Unicode Transformation Format 8-bit)是两种常见的字符编码方案。它们分别用于对文本进行编码,以在计算机系统和文件中存储和表示字符。 GB2312: GB2312是一个用于简化中文字符表示的字符编码,是中国大陆的第一个汉字编

    2024年02月04日
    浏览(29)
  • [MySQL]数据库原理2,Server,DataBase,Connection,latin1、UTF-8,gb2312,Encoding,Default Collation——喵喵期末不挂科

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 认识字符集和校对原则 MySQL 5.5支持的字符集和校对原则 常用字符集和校对原则 确定字符集和校对原

    2024年02月04日
    浏览(35)
  • .Net 中实体类转换为XML字符串, 确保字符串头部是utf-8 不是utf-16

    使用 Utf8StringWriter 或类似的方法来确保在序列化过程中使用正确的编码。然而, Utf8StringWriter 不是.NET Core或.NET Standard库的一部分,因此你需要自己实现一个。 不过,有一种更简单的方法可以达到相同的效果,那就是使用 StringWriter 与 Encoding.GetEncoding(\\\"utf-8\\\") 结合,但这实际上

    2024年01月23日
    浏览(35)
  • visio,word添加缺少字体,仿宋_GB2312、楷体_GB2312、方正小标宋简体等字体下载

    visio,word添加缺少字体,仿宋_GB2312、楷体_GB2312、方正小标宋简体等字体下载 2.1 visio 3.1 下载字体 http://www.downza.cn/ 微软官方给的链接好多字体没有,其他好多字体网站,就是给你看个样式,这个网站实测可以 进去以后直接搜索 然后查看,本地下载,会有一个压缩包,然后解压

    2024年02月14日
    浏览(95)
  • dedecms编码转换方法 gbk转UTF-8,UTF-8转GBK(推荐)

    经常遇到编码转换的问题,有的是购买了模板但是模板编码与程序编码不符,导致出现乱码.今天小编给大家分享一篇教程帮助大家解决如何转换模板文件的编码和程序的编码问题,一起看看吧! 1.如何转换模板文件编码? 首先下载一个编码转换软件 51EC模板转码专用工具v1.0免费

    2024年02月03日
    浏览(26)
  • mac安装仿宋GB2312字体

    第一步:双击打开 仿宋_GB2312.ttf 完成字体安装 【下载链接】 百度云: 链接: https://pan.baidu.com/s/1tsyEuNTQbTt99fYQ72JlWQ?pwd=7wa5 提取码: 7wa5 CSDN: https://download.csdn.net/download/weixin_43312117/85709796 第二步:打开访达,点击应用程序,找到 word ,右键 显示包内容 ,打开 Contents 文件夹,打

    2024年02月17日
    浏览(28)
  • UTF-8转GBK

    参考链接:https://blog.csdn.net/yanchao7788/article/details/53196901 参考链接:你真的懂 Unicode 和 UTF-8 是什么关系吗?来看看这个就彻底懂了!_魔都飘雪的博客-CSDN博客_utf8和unicode的关系 UTF-8没办法直接转GBK,必须先转成unicode,再转成GBK 1.把UTF-8转成unicode,根据参考的链接,我做了实现

    2024年02月11日
    浏览(25)
  • GB 2312字符集:中文编码的基石

    GB 2312字符集是中国国家标准委员会于1980年发布的一种中文字符集,是中国大陆最早的中文字符集之一。GB 2312字符集的发布填补了中国大陆中文编码的空白,为中文信息处理提供了基础。 标准中文电码查询 | 一个覆盖广泛主题工具的高效在线平台(amd794.com) https://amd794.com/chi

    2024年03月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包