`
wangshu3000
  • 浏览: 135285 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

中文编码基础知识介绍

阅读更多

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个汉字

分享到:
评论
1 楼 wuhua 2009-03-09  
学习下,转到我博客上了

相关推荐

    Servlet 中文乱码问题

    总结来说,解决Servlet中的中文乱码问题,关键在于明确字符编码的设定,确保请求和响应的编码一致。在开发过程中,应避免依赖系统或浏览器的默认编码,而是明确指定使用UTF-8或其他兼容性好的编码格式。同时,理解...

    汉字编码简明对照表

    #### 一、基础知识介绍 **汉字编码**是指用一组数字或字符来表示一个汉字的过程。在计算机系统中,由于汉字数量庞大且结构复杂,因此需要一种有效的编码方式来进行存储与传输。常见的汉字编码标准包括GB2312、GBK、...

    Java 中文乱码问题

    在Java编程中,中文乱码问题是一个常见的困扰开发者的问题,特别是在处理输入输出或者网络通信时。这个问题涉及到字符编码的...同时,了解并掌握各种编码标准,如ASCII、GBK和UTF-8,也是避免乱码问题的重要基础知识。

    jsp资料基础知识分页和乱码处理

    本资源包“jsp资料基础知识分页和乱码处理”着重介绍了JSP的基础知识,以及在实际应用中常见的分页技术和乱码处理方法。 首先,让我们深入了解一下JSP的基础知识。JSP的核心在于它将业务逻辑和页面展示进行了分离,...

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

    字符集基础知识是编程领域不可或缺的一部分,特别是在处理多语言和国际化问题时。本文主要围绕字符集的概念,特别是如何解决Java中的乱码问题进行了详尽的解释。以“中文”二字为例,我们可以深入理解从Java源文件到...

    JSPServlet 中的汉字编码问题

    #### 二、字符编码基础知识 1. **字符集**: 指的是用于存储和传输字符的一套规则,包括字符的编码方式。例如ASCII码、GB2312、GBK等。 2. **Unicode**: 是一种国际通用的字符集标准,能够支持世界上几乎所有语言的...

    Linux基础知识.pdf

    此外,在使用SecureCRT等终端模拟软件时,可能会遇到中文乱码问题,可以通过调整SecureCRT和Linux系统本身的字符编码为UTF-8来解决。 10. Linux命令使用方法和Shell编程基础 Linux命令行工具提供丰富的命令,如cd、...

    计算机基础知识-基础知识

    通过以上内容的介绍,我们可以了解到计算机基础知识涵盖了信息处理、硬件设备、软件应用以及文件系统等多个方面。掌握这些基础知识对于理解和使用计算机技术至关重要。随着科技的发展,计算机技术也在不断进步和完善...

    计算机基础知识试题及答案(完整版)资料.doc

    8. 汉字国标码 (GB2312-80) 规定的汉字编码,每个汉字用___B__。 答:二个字节表示 9. 微机系统的开机顺序是__D___。 答:先开外部设备再开主机 10. 使用高级语言编写的程序称之为__A___。 答:源程序 11. ...

    汉字编码转换软件(中文转为编码)

    汉字编码转换软件是一种实用工具,主要用于将中文字符转化为其对应的编码形式,以便于在计算机系统中存储、传输或处理...掌握汉字编码的基本知识和使用工具,能够有效地避免和解决中文字符在数字化过程中的诸多问题。

    HZM.rar_汉字 编码_点阵字符_点阵汉字编码

    总的来说,这个压缩包提供的内容涵盖了汉字编码的基础知识,特别是点阵汉字编码的原理和应用,对于学习和理解早期计算机及单片机中的汉字处理有重要的参考价值。通过解析和利用这些数据,开发者可以编写程序在有限...

    java中文乱码问题

    首先,我们需要理解编码的基础知识。计算机并不直接识别汉字,而是通过特定的编码方式将其转换为二进制数据来存储和处理。常见的编码格式有ASCII、GB2312、GBK、UTF-8等。其中,ASCII只支持英文字符,GBK和GB2312是...

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

    计算机中的信息单位是表示数据量大小的基本概念,主要包括位、字节、字和字长。位,或称为比特,是计算机存储的最小单位,由一个二进制数表示。...理解这些基础知识对于学习和使用计算机至关重要。

    “三校生”对口升学计算机应用试卷计算机基础知识(含答案).pdf

    "计算机基础知识" 计算机基础知识是计算机应用的基础,它涵盖了计算机硬件、软件、操作系统和应用领域等多个方面。下面是计算机基础知识的要点: ...只有掌握了这些基础知识,才能更好地应用计算机技术解决实际问题。

    计算机必知基础知识大全

    其他编码如BCD码用于二—十进制转换,汉字编码(如GB2312、UTF-8等)用于表示汉字。 7. DRAM(动态随机存取存储器):是常见的内存类型,具有高速度和相对较低的价格,但需要定期刷新以保持数据。 8. 微型计算机...

    Linux中文乱码问题.pdf

    解决中文乱码问题,首先需要了解字符编码的基础知识和Linux系统中的locale设置。 字符编码是指用数字来表示字符和符号的方法,常用的字符编码有ASCII、Unicode、UTF-8等。ASCII码是最早的编码标准,主要针对英文...

    计算机基础知识练习题(附答案和解释)

    ### 计算机基础知识知识点详解 #### 一、单选题知识点分析 **1. 第一台电子计算机** - **知识点**: 第一台电子计算机的历史背景及其重要性。 - **详细解析**: 1946年2月15日,世界上公认的第一台现代电子计算机在...

    计算机基础知识计.ppt

    重点介绍了计算机中常用的数制及其转换、带符号数的表示、字符编码和汉字编码的基本知识。要求读者了解微型计算机的发展历史、工作特点、分类、应用领域等相关知识;熟悉数制的基本概念、数制之间的相互转换。 ...

    计算机基础知识1.doc

    计算机基础知识是计算机教育的基础部分,它涵盖了计算机科学家冯·诺依曼的贡献、电子计算机的发展、计算机的分类、计算机的主要发展方向、计算机的应用领域、计算机的逻辑元件、计算机的内部表示方式、二进制数的...

Global site tag (gtag.js) - Google Analytics