`

关于字符编码的基础知识(网上搜索总结)

阅读更多
 
  • GB2312
    范围: 0xA1A1 - 0xFEFE
    汉字范围: 0xB0A1 - 0xF7FE
    GB2312码是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集--基本集》,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。 GB2312收录简化汉字及符号、字母、日文假名等共7445个图形字符,其中汉字占6763个。GB2312规定"对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示",习惯上称第一个字节为"高字节",第二个字节为"低字节"。GB2312- 80包含了大部分常用的一、二级汉字,和9区的符号。该字符集是几乎所有的中文系统和国际化的软件都支持的中文字符集,这也是最基本的中文字符集。其编码范围是高位0xa1-0xfe,低位也是0xa1-0xfe;汉字从0xb0a1开始,结束于0xf7fe。


  • GBK
    范围: 0×8140 - 0xFEFE

GB2312-80 仅收汉字 6763 个,这大大少于现有汉字,随着时间推移及汉字文化的不断延伸推广,有些原来很少用的字,现在变成了常用字,例如:朱鎔基的“鎔”字,未收入 GB2312-80,现在大陆的报业出刊只得使用(金+容)、(金容)、(左金右容)等来表示,形式不一而同,这使得表示、存储、输入、处理都非常不方便,对于搜索引擎等软件的构造来说也不是好消息,而且这种表示没有统一标准。从我们对人民日报 98 年数据的处理过程中,得出这样的经验:回填外字最困难的就是如何得到这种表示方法的集合。


为了解决这些问题,以及配合 UNICODE 的实施,全国信息技术化技术委员会于 1995 年 12 月 1 日《汉字内码扩展规范》。GBK 向下与 GB2312 完全兼容,向上支持 ISO-10646 国际标准,在前者向后者过渡过程中起到的承上启下的作用。


GBK是GB2312-80的扩展,是向上兼容的。它包含了20902个汉字,其编码范围是0×8140-0xfefe,剔除高位0×80的字位。其所有字符都可以一对一映射到Unicode2.0。


  • 字集
    GBK 共收入21886个汉字和图形符号,包括:


GB2312 中的全部汉字、非汉字符号。
BIG5 中的全部汉字。
与 ISO-10646 相应的国家标准 GB13000 中的其它 CJK 汉字,以上合计 20902 个汉字。
其它汉字、部首、符号,共计 984 个。
GBK 编码区分三部分:


汉字区 包括
GBK/2:OXBOA1-F7FE, 收录 GB2312 汉字 6763 个,按原序排列;
GBK/3:OX8140-AOFE,收录 CJK 汉字 6080 个;
GBK/4:OXAA40-FEAO,收录 CJK 汉字和增补的汉字 8160 个。
图形符号区 包括
GBK/1:OXA1A1-A9FE,除 GB2312 的符号外,还增补了其它符号
GBK/5:OXA840-A9AO,扩除非汉字区。
用户自定义区
即 GBK 区域中的空白区,用户可以自己定义字符。
編碼
GBK 亦采用双字节表示,总体编码范围为 8140-FEFE 之间,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 XX7F 一条线。


微 软公司自 Windows 95 简体中文版开始支持 GBK 代码,標準叫法是 Windows codepage 936,也叫做 GBK(國標擴展),它也是 8-bit 的變長編碼。據我所知 GBK 從來沒成爲過正式的國家標準,只不過因爲 Windows 的普及,它已經成爲事實上的標準了。但目前的多数搜索引擎都不能很好地支持 GBK 汉字。


由前电子部科技质量司和国家技术监督局标准化司于1995年12月颁布的指导性规范。(GBK的 K是“扩展”的汉语拼音第一个字母)
GBK作为非 UCS ( ISO/IEC 10646 ) 体系的代码页,适用于中文信息的处理、交换、存储、传输、显现、输入和输出。
GBK 与国家标准 GB 2312-80 信息处理交换码所对应的、事实上的内码标准兼容;同时,在字汇一级支持 ISO/IEC 10646-1 和GB 13000-1 的全部中日韩 (CJK) 汉字(20902字)。GBK除了包含GB2312-80 和GB12345-90中包括的全部非汉字符号外,还涵盖我国台湾地区中文标准交换码TCA-CNS 11643 -92 ( 与其对应的内码为Big5;以下用Big5泛指二者。) 中的绝大多数符号。
从Windows95中文版起,Windows NT 3.51, 4.0, Windows2000, Windows CE, Linux已经全面支持GBK,起到了从GB 2312向Unicode过渡的承上启下的重要作用。
GBK尽管在字汇一级支持CJK,是目前最大的Code Page ;它在体系结构、代码空间上,仍然是完全不同于ISO/IEC 10646 和Unicode的。


  • BIG5
    范围: 0xA140 - 0xF9FE, 0xA1A1 - 0xF9FE

    Big5是台湾的IIIT1984年发明的,CNS 11643-1992( Chinese National Standard)
    是扩展版本,主要大家用的还是big5
    每个字由两个字节组成,其第一字节编码范围为0xA1~0xF9,第二字节编码范围为0×40~0×7E与0xA1~0xFE,总计收入13868个字 (包括5401个常用字、7652 个次常用字、7个扩充字、以及808个各式符号)

  • GB18030:


GB18030-2000(GBK2K)在GBK的基础上进一步扩展了汉字,增加了藏、蒙等少数民族的字形。GBK2K从根本上解决了字位不够,字形不足的问题。它有几个特点:


它并没有确定所有的字形,只是规定了编码范围,留待以后扩充。


编码是变长的,其二字节部分与GBK兼容;四字节部分是扩充的字形、字位,其编码范围是首字节0×81-0xfe、二字节0×30-0×39、三字节0×81-0xfe、四字节0×30-0×39。


它的推广是分阶段的,首先要求实现的是能够完全映射到Unicode3.0标准的所有字形。


它是国家标准,是强制性的。


  • 补充:


中文信息编码标准,常用的是GB2312-1980,GB12345,GB13000(GBK),
以及最新标准GB18030。


GB2312的汉字编码规则为:第一个字节的值在0xB0到0xF7之间,第
二个字节的值在0xA0到0xFE之间。


GB12345和GB13000是对GB2312-1980的扩充,所有已经包含在GB2312
中的汉字编码不变,另外增加更多的码位。其编码规则大致为:第一
个字节的值在0×81到0xFE之间,第二个字节的值在0×40到0xFE之间。


GB18030 是最新的汉字编码字符集国家标准, 向下兼容 GBK 和 GB2312 标准。
GB18030 编码是一二四字节变长编码。 一字节部分从 0×0~0×7F 与 ASCII
编码兼容。 二字节部分, 首字节从 0×81~0xFE, 尾字节从 0×40~0×7E 以及
0×80~0xFE, 与 GBK标准基本兼容。 四字节部分,
第一字节从 0×81~0xFE, 第二字节从 0×30~0×39, 第三和第四字节的范围和前
两个字节分别相同。 四字节部分覆盖了从 0×0080 开始, 除去二字节部分已经
覆盖的所有 Unicode 3.1 码位。也就是说, GB18030 编码在码位空间上做到
了与 Unicode 标准一一对应,这一点与 UTF-8 编码类似。


  • UTF_8字符集


UTF-8是UNICODE的一种变长字符编码,由Ken Thompson于1992年创建。现在已经标准化 为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节。用4个或6个字节去编码一个UNICODE字符可能太多了,但很少会遇到那样的UNICODE字符。


Hong Kong GCCS是香港政府为big5加的3049个字,(Government Chinese Character Set)
香港增补字符集(HKSCS)是后来的标准,包括了Big5和ISO10646的编码,所以HKSCS的big5
版是补充了GCCS的增强版,ISO10646是UCS(universal character set),ISO是政府组织
Unicode是电脑业界组织,不过UCS和Unicode的字库一样

编码字数统计:
GB2312 6763个汉字
GB12345 6866个汉字
GBK 21003个汉字
GB18030 27000个汉字
Big5 13053个汉字
CNS11643 48,027个汉字

分享到:
评论

相关推荐

    字符编码基础胶片(推荐)

    字符编码基础 - 介绍字符编码的基础知识的不错的胶片

    字符,字节和编码基础知识

    本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的...

    2022全国计算机应用基础知识:汉字、字符编码.docx

    2022全国计算机应用基础知识:汉字、字符编码.docx

    中文编码基础知识介绍

    该书详细介绍了GB2312、GBK、BIG5、GB18030、UTF_8字符集等编码,为编码初学者提供了详细信息。

    全国计算机应用基础知识:汉字、字符编码.pdf

    全国计算机应⽤基础知识:汉字、字符编码 (1)计算机中的信息单位 计算机中对信息表⽰的单位有位、字、字长及字节等,它们是⽤来表⽰信息量的⼤⼩的基本概念。 位:计算机中数据存储的最⼩单位是⼀个⼆进制位,简称...

    C语言基础之转义字符:从原理到应用的字符编码教程 .txt

    提供了多种字符编码和转换的功能,如输入和输出字符的实体、ASCII码、八进制转义字符、十六进制转义字符等,以及支持多个字符的批量转换和显示。本资源适合C语言编码和转换的学习者和工程师使用,帮助他们通过Web...

    java字符集基础知识及问题

    本文主要介绍字符集编码基本知识,系统的介绍了字符集各种类型。 字符集常见问题和解决方案。

    全国计算机一级MsOffice应用基础知识点:字符的编码.docx

    全国计算机一级MsOffice应用基础知识点:字符的编码.docx

    字符编码详解 v2.2

    本文主要介绍了字符编码的基础知识,以及常见的字符编码类型,比如ASCII,Unicode,UTF-8,ISO 8859等,以及各种编码之间的关系,同时专门解释了中文字符相关的编码标准,包括GB2312,GBK,GB18030,也专门解释了...

    计算机基础知识-编码表.doc

    计算机基础知识-编码表 模块:计算机基础知识 主题:编码表 关键词:ASCII、Unicode、UTF-8 1、编码表 计算机发明之初,用来解决数字计算的问题,后来人们发现可以做更多的事,但由 于计算机只识" 数",因此人们必须...

    计算机应用基础知识(共59张PPT).pptx

    目录 计算机概述 数制与编码 计算机中字符的编码 指令和程序设计语言 计算机系统的组成 微型计算机的硬件系统 多媒体技术简介 计算机病毒及其防治 计算机应用基础知识(共59张PPT)全文共59页,当前为第2页。...

    计算机应用基础知识总结大全精编.docx

    计算机应用基础知识总结大全精编 Document number:WTT-LKK-GBB-08921-EIGG-22986 Document number:WTT-LKK-GBB-08921-EIGG-22986 计算机应用基础知识总结大全精编全文共34页,当前为第1页。计算机应用基础知识总结...

    彻底搞懂Python字符编码

    本篇文章带领大家彻底搞懂Python字符编码的一些知识,及python字符编码的一些基础概念,需要的朋友可以参考下

    JSPServlet 中 字符编码问题

    其实 JSP/Servlet 的中文encoding 并没有想像的那么复杂,虽然定位和解决问题没有定规,...了解字符集的知识是解决字符问题的基础。不过,随着中文字符集的变化,不仅仅是 java 编程,中文信息处理中的问题还是会存在一

    UNICODE 基础知识.pdf

    UNICODE 基础知识 Unicode.org 是一个国际性的组织,致力于使全球各种语言文字在计算机上使用统一的 编码。经过多年的发展,UNICODE 编码已经发展到了4.1 的版本。 1. 编码范围 早期的UNICODE 版本里,认为UNICODE ...

    中英文字符串分割算法C++C程序示例

    <Rule.4>: (基于R3)如果第pos个位置的ASCII字符编码小于'~', 那从下标pos,pos+1处拆分字符串 (下标pos归前串),将不会导致乱码; A 或者 B 的选择,需要知道以下信息: (1). 从 cut_base_pos 开始到 pos_B 结束...

    字符集基础知识(描述解决java乱码问题的最详细的资料)

    以“中文”二字为例,详细的介绍了从java源文件,jsp页面到class文件,以及在web容器中编码解码的详细的具体的过程,只要深刻理解这篇文章,所有java乱码问题都将轻松解决。

    计算机应用基础知识总结.doc

    计算机应用基础知识总结 第一章 1. 1946年第一台电子计算机ENIAC(埃尼阿克)在美国问世。 2. 计算机的时代划分: 电子管计算机时代、晶体管计算机时代、集成电路计算机时代和大规模集成电器计算 机时代。 3. 计算机...

    最新计算机应用基础知识总结.doc

    计算机应用基础知识总结 第一章 1. 1946年第一台电子计算机ENIAC(埃尼阿克)在美国问世。 2. 计算机的时代划分: 电子管计算机时代、晶体管计算机时代、集成电路计算机时代和大规模集成电器计算 机时代。 3. 计算机...

    汇编语言程序设计-计算机基础知识

    计算机基础知识,包括工作原理、数字系统及字符的编码等。

Global site tag (gtag.js) - Google Analytics