汉字编码问题
- 格式:doc
- 大小:84.00 KB
- 文档页数:12
汉字编码实验报告总结
汉字编码实验报告总结
汉字编码实验是对汉字编码的实验过程,本实验内容主要是基于Word文档中汉字编码的实验。
实验过程说明:
1. 针对Word文档,进行文本编辑:将已知文字的汉字编码(包括GB2312、GBK、BIG5)添加到相应文档中;
2. 通过对比,比较三种汉字编码(GB2312、GBK、BIG5)在空间上的编码表示;
3. 针对英文和汉字,进行字符的识别和比较;
4. 针对不同的编码,分析采用的字符编码类型,以及是否统一字体。
经过上述实验,我们发现:
1. 选定的汉字编码(GB2312、GBK、BIG5)有一定的不同,即GB2312编码只支持有限的汉字和符号,而GBK和BIG5编码支持更多的汉字和符号;
2. 对汉字编码进行字符识别和编码表示的区别,能够有效地确定字符的准确性;
3. 统一字体可以提高文本编辑的完整性,减少出错的可能性。
通过本次实验,可以对汉字在Word文档中的编码有更深入的理解,有助于更好的文本编辑与管理。
- 1 -。
汉字的编码方式
汉字的编码方式是中国传统文化的重要组成部分。
汉字的编码方式是中国人用来记录和传达言语的一种独特的技术形式。
汉字的编码技术是以汉字简码、拼音码、五笔码和笔划码为主要编码方式。
汉字简码是利用一个汉字中不同部件的不同组合。
拼音码是把汉字当做音节来编码。
五笔码是把汉字当作笔画来编码,而笔划码是把汉字按照不同的笔画来编码。
汉字简码是中国汉字编码的基础,它利用一个汉字中不同部件的不同组合,构成汉字的编码方式,比如“人”是“r-e-n”,“叶”是“y-e”。
这种方式是使用最广泛的汉字编码方式,但它有一个明显的缺点,就是当一个汉字组成的词有多种写法的时候,会出现重复的编码,例如“叶”和“也”的编码都是“y-e”。
拼音码是另一种比较常用的汉字编码方式,它是把汉字当做音节来编码。
比如“人”是“n”,“叶”是“yè”。
这种方式不容易出现重复编码的情况,但它有一个显著的缺点,就是拼音码中很多汉字具有多音性,例如“草”可以表示为“cǎo”或“cào”,这会导致拼音码的准确性较低。
五笔码是把汉字当作笔画来编码,它的好处是编码的容易、准确、快速,但相对于其他方式来说,五笔码具有更大的规则性,容易引起记忆困难。
笔划码是把汉字按照不同的笔画来编码,它和五笔码有一些相似之处,但是笔划码更加复杂,更加灵活,并且更易于辨认汉字不同的笔画结构。
汉字的编码方式多种多样,每种编码方式都有各自的优点和缺点,没有一种方式是完美的。
了解汉字的编码方式,有助于我们在计算机上使用汉字,实现汉字的检索,保护中国传统文化的传承。
汉字字符的编码范围-回复汉字字符的编码范围,是指用于表示汉字的字符编码的范围。
在计算机中,常用的汉字字符编码方式有GBK、GB2312、Big5、Unicode等。
这些编码方式用于将汉字字符转换为计算机可以识别和储存的数字代码,以便于计算机进行处理和显示。
首先,让我们来了解一下GBK编码和GB2312编码。
GBK编码是中国国家标准GB 2312-1980的扩展,包含了全部的中文汉字字符以及繁体汉字;GB2312编码是最早的汉字字符集,只包含了简体中文的6763个常用字。
它们的编码范围分别是0x8140至0xFEFE和0xA1A1至0xFEFE。
在计算机发展的过程中,为了统一不同国家和地区的字符编码,出现了Unicode编码,它使用16位或32位来映射世界上几乎所有的字符,包括汉字。
Unicode的编码范围是0x4E00到0x9FA5,这个范围包含了绝大部分的中文汉字。
然而,由于Unicode编码通常使用16位字符表示,这导致了一些问题,比如存储空间的浪费。
为了解决这个问题,出现了UTF-8编码。
UTF-8是一种针对Unicode的可变长度字符编码,可以用一个字节或多个字节来表示一个字符,根据字符的不同而变化。
对于汉字,UTF-8编码通常使用3个字节表示。
UTF-8编码的汉字字符范围是0xE4B880至0xEEA5BF。
除了以上介绍的常用编码方式外,还有一种比较特殊的编码方式是Big5编码。
Big5编码主要用于繁体中文,它的字符范围覆盖了繁体中文的所有字符。
Big5编码的汉字字符范围是0xA440至0xC67E和0xC940至0xF9D5。
对于这些不同的汉字字符编码范围,计算机内部会将汉字字符转换为对应的编码值进行存储和处理。
当需要显示汉字时,计算机则会根据字符编码值,选择对应的字形进行显示。
这也是为什么在不同的字符编码下,同一个字符可能会有不同的显示效果。
总结起来,汉字字符的编码范围包括GBK编码的0x8140至0xFEFE,GB2312编码的0xA1A1至0xFEFE,Unicode编码的0x4E00至0x9FA5,UTF-8编码的0xE4B880至0xEEA5BF,以及Big5编码的0xA440至0xC67E和0xC940至0xF9D5。
汉字编码方式以及相应的关系
汉字编码方式是指对汉字进行编码的方法和规则。
根据编码方式和用途的不同,汉字编码可以分为以下几种:
1. 拼音码:以汉字的拼音为基础进行编码,输入速度快,但重码较多,不易记忆。
2. 五笔码:五笔码是一种形码,将汉字拆分成不同的部分,然后按照一定的规则进行编码。
五笔码输入速度快,重码较少,但需要一定的学习和练习。
3. 语音码:语音码是一种利用语音识别技术进行汉字编码的方法。
用户只需读出汉字,系统就可以将其转换成相应的编码。
语音码需要一定的技术支持,且受方言和口音影响较大。
4. 字形码:字形码是一种基于汉字字形的编码方法。
它将汉字拆分成不同的部分,然后以数字或字母的形式表示其形状。
字形码输入较慢,但重码较少,易于记忆。
除了以上几种常见的汉字编码方式,还有一些其他的编码方式,如电报码、四角号码等。
这些编码方式都有其特定的用途和优缺点。
另外,汉字编码与计算机的关系也非常密切。
在计算机中存储和处理汉字时,需要对汉字进行编码。
目前使用最广泛的汉字编码是GB2312和GBK,它们分别支持简体中文和
繁体中文。
在互联网上传输汉字时,通常使用UTF-8编码,它支持多种语言和字符集。
输入码、区位码、国标码与机内码我们知道,键盘是当前微机的主要输入设备,输入码就是使用英文键盘输入汉字时的编码。
目前,我国已推出的输入码有数百种,但用户使用较多的约为十几种,按输入码编码的主要依据,大体可分为顺序码、音码、形码、音形码四类,如“保”字,用全拼,输入码为码为“BAO”,用区位码,输入码为“1703”,用五笔字型则输入码为“WKS”。
计算机只识别由0、1组成的代码,ASCII码是英文信息处理的标准编码,汉字信息处理也必须有一个统一的标准编码。
我国国家标准局于1981年5月颁布了《信息交换用汉字编码字符集──基本集》,代号为GB2312-80,共对6763个汉字和682个图形字符进行了编码,其编码原则为:汉字用两个字节表示,每个字节用七位码(高位为0),国家标准将汉字和图形符号排列在一个94行94列的二维代码表中,每两个字节分别用两位十进制编码,前字节的编码称为区码,后字节的编码称为位码,此即区位码,如在二维代码表中处于17区第3位,区位码即为“1703 ”。
(教材附页可找到)国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,这样就得了一个与国标码有一个相对位置差的代码,再将这个代码的第一个字节和第二个字节分别加上20H,就得到国标码,相当于如果不转换的话,在两个字节上分别加上32即可。
如:“保”字的国标码为3123H,它是经过下面的转换得到的:1703D->1103H->+20H->3123H。
国标码是汉字信息交换的标准编码,但因其前后字节的最高位为0,与ASCII码发生冲突,如“保”字,国标码为31H和23H,而西文字符“1”和“#”的SCII也为31H和23H,现假如内存中有两个字节为31H和23H,这到底是一个汉字,还是两个西文字符“1”和“#”?于是就出现了二义性,显然,国标码是不可能在计算机内部直接采用的,于是,汉字的机内码采用变形国标码,其变换方法为:将国标码的每个字节都加上128,即将两个字节的最高位由0改1,其余7位不变,也就是如果国标码是16进制的,直接加上8080H即可。
第2次课字符编码、汉字编码一、单选题(本大题共8小题,共60分)1.(5分)ASCII码采用8位二进制编码,共表示()个字符。
A. 256B. 64C. 127D. 1282.(5分)英文字母A的ASCIl码为01000001,英文字母D的ASCII码转化为十进制后是()。
A. 65B. 68C. 70D. 643.(5分)在ASCI编码表中,已知字母P的编码是80,Q的编码是81 ,可以推算出字母S的编码是( )A. 83B. 79C. 85D. 874.(5分)发报代码由长音和短音组成,分别用”.”和“-”表示,有一8位电码“..-.- --.”若用二进制表示,可以写成()A. 11010000B. 00111110C. 00101110D. 001011115.(10分)某军舰上有5盏信号灯,信号灯只有“开"和"关"两种状态,如果包括5盏信号灯全关的状态,则最多能表示的信号编码数为( )种。
A. 5B. 10C. 20D. 326.(10分)汉字的编码分为输入码、输出码和机内码,其中用于汉字存储的编码称为( )A. 输入码B. 机内码C. 拼音码D. 输出码7.(10分)使用Word进行文字处理时,“输入-存储-打印”的过程所涉及的汉字编码分别是( )A. 输入码、机内码、打印码B. 输入码、机内码、字型码C. 拼音码、ASCII码、字型码D. 拼音码、机内码、交换码8.(10分)汉字点阵是一种用黑白两色点阵来表示汉字字形的编码,一个8x8点阵字模的存储容量为( )A. 8字节B. 64字节C. 1字节D. 16字节二、判断题(本大题共4小题,共15分)9.(2.5分)ASCII包含中文编码。
10.(2.5分)英文小写字母a的ASCII码值是65。
11.(5分)手写板输入汉字的实质是字型识别的结果与特征库的字型信息相同时,计算机把这个汉字显示在屏幕上。
12.(5分)同一个汉字的输入码可以有多种,但机内码是唯一的。
汉字字符编码与转码详解,iso-8859-1的妙⽤程序中有汉字参数,经常会遇到编码转码问题,总结下:1.汉字为多字节字符,须多字节编码解码,如"测试".getBytes("GBK");这样"测试".getBytes("GBK")就变成⼀个byte数组,这时候你可以随意重新指定编码如iso-8859-1,String s1=new String("测试".getBytes("GBK"),"iso-8859-1");编为s1,这是s1就变成⼀个是iso-8859-1编码的字符串,如果你想重新转为中⽂,那么,你⽤什么字符集编码的,必须⽤什么字符集来解码,这⾥是iso-8859-1,可以这么来做String s2 = new String(s1.getBytes("ISO-8859-1"),"GBK");这样s2⼜重新变回中⽂了,所以当你打印s2时,就是“测试”。
2.⽤iso-8859-1做中间编码,注意不是开始编码和编回的编码(开始和编回的可⽤GBK或者UTF8),只做中间编码,原因:[1]iso-8859-1是单字节字符编码,[2]ANSI 编码 (如:GB2312, GBK(gbk包括了gb2312),BIG5,Shift_JIS,ISO-8859-2等等),是多字节编码(英⽂单字节,中⽂多字节),不是定长编码;[3]UNICODE ,UTF-8, UTF-7, UTF-16, UnicodeLittle, UnicodeBig,是宽字节编码(所有字符均是多字节)因此⽤iso-8859-1做中间码,会保持原有字节的秩序,不发⽣混乱;可以理解为其他的编码对iso-8859-1兼容吧。
因此,我们常常使⽤iso-8859-1做中间码来进⾏逆向操作,得到原始的“字节串”。
汉字字符编码的发展关键词:汉字字符编码问题发展阶段摘要:作为一名中国人,尤其是一名计算机学者,了解汉字字符编码的发展是非常必要的。
相对西文字符集的定义,汉字编码字符集的定义主要有两大困难:选字难和排序难。
选字难是因为汉字字量大(包括简体字、繁体字、日本汉字、韩国汉字),而字符集空间有限。
排序难是因为汉字可有多种排序标准(拼音、部首、笔画等等),而具体到每一种排序标准,往往还存在不少争议,如对一些汉字还没有一致认可的笔画数。
因此,汉字字符编码的发展的道路是曲折的、坎坷的,遇到不少的困难,虽然现在还有一些是没解决的,但目前的情况还算是比较稳定。
As a Chinese person, particularly a computer scholars, learn about the development of Chinese character encoding is very necessary. The definition of relative Western language character set, the definition of a coded character set mainly in the two major difficulties: choice difficult, and sorting. Choice difficult because the word so much Chinese characters (including the simplified Chinese, traditional Chinese, Japanese, Korean, and Chinese) character set of the space is limited. Sorting difficult because Chinese characters can have multiple sort criteria (phonetic, radical, strokes, and so on), and specific to each type of sorting standards, often a lot of controversy, as well as on some Chinese characters there is no agreement approved by the strokes. Therefore, the development of Chinese character encoding is tortuous and difficult, you experience a lot of difficulties, although some unsolved, it is relatively stable.汉字出现过的问题:汉字内部码问题用二进制代码来表示字符和汉字是现代信息交换中通用的手段,它除广泛应用于通信(电报、电传等数据通信,如GB 8565-88信息处理文本通信用编码字符集)外,还在计算机中得到普遍使用。
汉字编码原理
汉字编码原理是指如何将汉字字符转化为计算机可识别的二进制数据。
根据汉字编码原理,计算机系统使用不同的标准来表示汉字字符,其中最常见的编码标准有Unicode和GBK。
Unicode是一个国际标准,它为世界上所有的字符都分配了唯一的编码值。
每个汉字字符在Unicode中都有一个独特的编码点,通常用U+加上一个十六进制数字来表示。
例如,汉字字符“中”在Unicode中的编码点是U+4E2D。
GBK编码是针对汉字字符而设计的中国国家标准。
GBK编码使用两个字节表示一个汉字字符,其中一个字节表示高位,另一个字节表示低位。
GBK编码共收录了21003个汉字字符。
在计算机中,当我们输入或显示一段文本时,计算机会根据当前使用的编码标准来识别和转换字符。
当我们输入汉字时,计算机会将其转换为对应的编码值,从而存储在内存中或在传输中使用。
同样地,当计算机需要将二进制数据转换为可读的文本时,它会根据编码标准将编码值转换为相应的字符。
通过了解汉字编码原理,我们可以更好地理解计算机是如何处理和显示汉字字符的。
这对于开发汉字处理软件、设计数据库存储方案以及进行多语言文本处理等应用是非常重要的。
汉字编码方案汉字作为中国人的语言文字,有着数千年的历史。
为了实现对汉字的计算机处理,人们发展了多种汉字编码方案。
这些编码方案既包括了早期的汉字内码,也包括了后来的国际标准化汉字编码。
一、早期的汉字内码在计算机技术刚刚起步的时候,人们开始思考如何将汉字编码进计算机系统。
最早的一种汉字内码是GB2312,该编码将汉字映射到一个2个字节的编码空间中。
随着计算机技术的发展,GB2312编码逐渐被扩展为GBK编码,增加了更多的汉字字符,并解决了一些符号的编码冲突问题。
二、国际标准化汉字编码——Unicode随着计算机技术的全球化,人们迫切需要一个能够统一全球字符集的编码方案。
Unicode编码应运而生,它定义了一个包含几乎所有世界上字符的编码方案,其中包括了汉字。
Unicode编码的最初版本称为UCS-2(Universal Character Set 2),使用16位来表示一个字符,共可以表示65536个字符。
为了进一步扩展Unicode编码以容纳更多字符,Unicode Consortium提出了UTF-8、UTF-16和UTF-32等变种编码。
其中,UTF-8是一种可变长编码,可以使用1至4个字节来表示一个字符,兼容ASCII码,且在存储和传输上更加节省空间。
UTF-16是一种固定长度的编码,使用16位来表示一个字符,适合于大多数国际文字,并明确区分了基本多语种平面(BMP)和辅助平面之间的字符。
UTF-32是一种固定长度的编码,使用32位来表示一个字符,能够表示Unicode 定义的所有字符,但占用更多的空间。
目前,Unicode编码已经广泛被应用于计算机系统中,成为各种操作系统、开发语言以及应用软件所采用的标准编码。
三、汉字编码在应用层面的问题尽管Unicode编码在理论上能够涵盖所有的汉字字符,但在实际应用中仍然存在一些问题。
首先,由于汉字数量庞大,Unicode编码需要占用较大的存储空间,导致一些存储设备和传输介质的限制。
2019.04 综 述电脑乐园399《汉字的编码》教学设计谢诺江苏省淮阴中学 223002摘要:汉字编码问题不仅仅表现在信息技术课堂上,同样和学生的实际生活息息相关,通过对编码问题的学习,可逐渐消除学生对计算机的汉字编码的抵触,切实帮助学生解决一些日常问题还增加了学生对信息技术课程的兴趣。
关键词:汉字编码;教学设计一、教材分析《汉字的编码》是教科版《信息技术基础》第四章第一小节《文本信息加工》的内容,其中牵涉到的知识点比较多,比如汉字的三种编码:输入码、输出码、机内码,每一种编码的作用及常见的编码方式,汉字的处理过程等。
这部分内容比较独立,而且其中许多问题和学生平时的实践息息相关——比如学生在输入汉字时都要用到输入法,有可能碰到无法输入的汉字,或者浏览网页时有可能碰到乱码,因此我认为对这部分内容进行研究并优化设计可以让学生受益匪浅。
二、学生分析进入高一的学生几乎全部有过使用计算机的经验,输入汉字对他们来说不是问题,可是他们往往停留在应用的表层上,如果问他们“汉字在计算机中是如何进行处理的呢?”他们往往知之甚少,甚至觉得没有必要知道。
如何巧妙地引起学生的兴趣,让学生在自觉主动中从“知其然”到“知其所以然”,是本节课的重点。
三、教学目标1.知识与技能了解汉字的三种编码及其在汉字处理过程中的作用 2.过程与方法(1)通过windows 自带的TrueType 造字程序的造字过程,让学生分别经历字型码、机内码、输入码,从而体会计算机处理汉字的过程(2)通过在GB 2312内码表、编码表中查找的方式找出自己名字所对应的内码、简拼码、五笔字型编码(王码),加深对汉字的内码、简拼码、王码的认识3.情感态度与价值观 通过对日常问题的解决,消除学生对计算机处理汉字问题的神秘感,提高他们了解汉字编码问题的兴趣,培养他们善于发现问题、思考问题并尝试解决问题的习惯。
四、设计意图:本节课试图创设一系列的问题,拉近学生的学习内容和他们生活实际的关系,引导学生积极主动学习,在学习的过程中感觉学习的内容有用,愿意学。
五、中文字符在计算机中的表示专项习题一、单选题1.汉字“嘉”的汉字区位码是 6079,正确的说法是()。
[单选题] *A.该汉字的区码是 60,位码是 79(正确答案)B.该汉字的区码是 60H,位码是 79HC.该汉字的机内码最高位是 3CH,低位是 4EHD.该汉字的机内码最高位是 4EH,低位是 3CH答案解析:汉字区位码是6079,区位码是十进制形式,60是区码、79是位码。
转换成十六进制是3C4F,3CAF+AOAO=DCEF,机内码是DCEF。
2.下列正确的汉字机内码是()。
[单选题] *A.5E38HB.BECDH(正确答案)C.7EE8HD.C88CH答案解析:汉字机内码由两个字节组成,每个字节的取值范围是A1-FE,只有B 选项符合。
C选项7E不符合,D选项8C不符合。
A选项都不符合。
3.用于在计算机内部存储、处理汉字的编码称为汉字()。
[单选题] *A.交换码B.机内码(正确答案)C.字型码D.输入码4.汉字系统中的汉字字库里存放的是汉字的()。
[单选题] *A.机内码B.输入码C.字形码(正确答案)D.国标码5.王码五笔字型输入法属于()。
[单选题] *A.音码输入法B.形码输入法(正确答案)C.音形结合的输入法D.联想输入法6.下列说法中,正确的是()。
[单选题] *A.同一个汉字的输入码的长度随输入方法不同而不同(正确答案)B.一个汉字的区位码与它的国标码是相同的,且均为2字节C.不同汉字的机内码的长度是不相同的D.同一汉字用不同的输入法输入时,其机内码是不相同的答案解析:同一个汉字的输入码可以不同,比如可以用拼音输入法或者五笔输入法输入同一汉字,但是同一汉字的机内码是唯一的。
不同汉字的机内码不同,但是他们的长度是相同的,都是两个字节。
7.区位码输入法的最大优点是()。
[单选题] *A.只用数码输入,方法简单、容易记忆B.易记、易用C.一字一码,无重码(正确答案)D.编码有规律,不易忘记答案解析:区位码是一个四位的十进制数,每个区位码都对应着一个唯一的汉字或符号。
中文编码规则
中文编码规则是涉及计算机处理和传输汉字的重要技术。
以下是几种常见的中文编码规则:
1. GB2312编码:GB2312简体中文编码,一个汉字占用2个字节,在大陆是主要的编码方式。
当文章/网页中包含繁体中文、日文、韩文等时,这些内容可能无法被正确编码。
范围:高字节从A1-A7,低字节从A1到FE。
将高字节和低字节分别加上0xA0即可得到编码。
2. GBK编码:GBK编码是GB2312的扩展,支持更多的汉字字符。
它也是一个双字节编码方案,兼容GB2312编码。
3. GB18030编码:GB18030是中国制定的一个中文编码标准,旨在覆盖更多的汉字和其他字符。
它也是一个双字节编码方案,但支持的字符数量比GBK更多。
4. Big5编码:Big5是繁体中文的常用编码方式,使用两个字节表示一个汉字字符。
它主要在台湾和香港地区使用。
5. Unicode编码:Unicode是一种国际化的编码标准,旨在将世界上所有的字符纳入一个统一的编码系统。
它使用一个或多个16位的码位来表示一个字符。
对于汉字,Unicode标准将常用的汉字字符纳入基本多语言平面,每个汉字使用两个16位的码位来表示。
以上是中文编码规则的介绍,了解这些规则有助于更好地在计算机中处理和传输中文字符。
汉字编码历史报告汉字编码是指对汉字进行数字化编码的过程。
汉字编码的历史可以追溯到古代,随着时间的推移,汉字编码出现了多种版本和标准。
本文将对汉字编码历史进行详细的介绍。
最早的汉字编码可以追溯到秦朝,当时的编码方式是采用象形字的形状作为编码依据。
这种编码方式简单粗糙,不适用于大规模的数据处理。
到了20世纪50年代,中国科学家开始研究使用电脑处理汉字的问题。
1956年,中国电子工业部成立了“汉字信息处理研究班”,专门从事汉字信息处理的研究。
随着社会的发展,汉字的数量不断增加,实现汉字信息处理的需求变得越来越迫切。
1965年,中国科学院计算机研究所研制出了第一个汉字编码系统——联合汉字编码(简称联通码)。
这个编码系统使用六位数字表示一个汉字,能够表示7262个字符。
联通码是中国第一个正式的汉字编码系统,标志着中国汉字编码的起步。
然而,联通码只能表示有限数量的字符,无法满足日益增长的字库需求。
1978年,中国国家标准化委员会开始制定汉字的国家标准编码。
1980年,全国计算机信息系统标准委员会(NITS)制定了一项字符集标准,将字符的编码扩展到了8000个,并在1982年正式发布。
这就是大家熟知的GB2312编码,它成为了中国广泛使用的编码标准。
然而,由于GB2312编码只能表示少量的汉字,不能满足繁体字的需求。
1995年,中国电子工业部发布了GBK(汉字内码扩展规范)编码标准,它扩展了GB2312编码,增加了21003个汉字和图形符号的编码,适应了更广泛的汉字需求。
随着计算机技术的发展,国际化的需求也日益增长。
为了与国际字符编码一致,中国于2000年确定了新的汉字编码标准——GB18030编码。
该编码系统扩展了GBK编码,包括27484个汉字和编码,还支持多种国际语言字母和符号的编码。
GB18030编码成为了中国现代汉字编码的标准。
在全球范围内,汉字的编码也经历了一系列的演变。
最早的汉字编码国际标准是Unicode。
汉字编码问题一、GB2312-80介绍GB2312码是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集--基本集》,由国家标准总局发布,1981年5月1日实施,通行于大陆。
新加坡等地也使用此编码。
GB2312收录简化汉字及符号、字母、日文假名等共7445个图形字符,其中汉字占6763个。
GB2312规定“对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示”,习惯上称第一个字节为“高字节”,第二个字节为“低字节”。
GB2312-80包含了大部分常用的一、二级汉字,和9区的符号。
该字符集是几乎所有的中文系统和国际化的软件都支持的中文字符集,这也是最基本的中文字符集。
其编码范围是高位0xa1-0xfe,低位也是0xa1-0xfe;汉字从0xb0a1开始,结束于0xf7fe。
GB2312将代码表分为94个区,对应第一字节(0xa1-0xfe);每个区94个位(0xa1-0xfe),对应第二字节,两个字节的值分别为区号值和位号值加32(2OH),因此也称为区位码。
01-09区为符号、数字区,16-87区为汉字区(0xb0-0xf7),10-15区、88-94区是有待进一步标准化的空白区。
GB2312将收录的汉字分成两级:第一级是常用汉字计3755个,置于16-55区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字计3008个,置于56-87区,按部首/笔画顺序排列。
故而GB2312最多能表示6763个汉字。
GB2312的编码范围为2121H-777EH,与ASCII有重叠,通行方法是将GB码两个字节的最高位置1以示区别。
图1:GB2312编码图图中位于ASCII区中的虚线区域即为原GB2312编码区域,右下角实线区域为平移后的GB2312编码区域。
二、GB2312-80的扩展GBK是GB2312-80的扩展,是向上兼容的。
它包含了20902个汉字,其编码范围是0x8140-0xfefe,剔除高位0x80的字位。
其所有字符都可以一对一映射到Unicode2.0。
GB18030-2000(GBK2K)在GBK的基础上进一步扩展了汉字,增加了藏、蒙等少数民族的字形。
GBK2K从根本上解决了字位不够,字形不足的问题。
它有几个特点:●它并没有确定所有的字形,只是规定了编码范围,留待以后扩充。
●编码是变长的,其二字节部分与GBK兼容;四字节部分是扩充的字形、字位,其编码范围是首字节0x81-0xfe、二字节0x30-0x39、三字节0x81-0xfe、四字节0x30-0x39。
●它的推广是分阶段的,首先要求实现的是能够完全映射到Unicode3.0标准的所有字形。
●它是国家标准,是强制性的。
●现在还没有任何一个操作系统或软件实现了GBK2K的支持,这是现阶段和将来汉化的工作内容。
三、Unicode编码国际标准组织于1984年4月成立ISO/IECJTC1/SC2/WG2工作组,针对各国文字、符号进行统一性编码。
1991年美国跨国公司成立UnicodeConsortium,并于1991年10月与WG2达成协议,采用同一编码字集。
目前Unicode是采用16位编码体系,其字符集内容与ISO10646的BMP(BasicMultilingualPlane)相同。
Unicode于1992年6月通过DIS (DrafInternationalStandard),目前版本V2.0于1996公布,内容包含符号6811个,汉字20902个,韩文拼音11172个,造字区6400个,保留20249个,共计65534个。
随着国际互联网的迅速发展,要求进行数据交换的需求越来越大,不同的编码体系越来越成为信息交换的障碍,而且多种语言共存的文档不断增多,单靠代码页已很难解决这些问题,于是UNICODE应运而生。
UNICODE有双重含义,首先UNICODE是对国际标准ISO/IEC10646编码的一种称谓(ISO/IEC10646是一个国际标准,亦称大字符集,它是ISO于1993年颁布的一项重要国际标准,其宗旨是全球所有文种统一编码),另外它又是由美国的HP、Microsoft、IBM、Apple 等大企业组成的联盟集团的名称,成立该集团的宗旨就是要推进多文种的统一编码。
UNICODE同现在流行的代码页最显著不同点在于:UNICODE是两字节的全编码,对于ASCII字符它也使用两字节表示。
代码页是通过高字节的取值范围来确定是ASCII字符,还是汉字的高字节。
如果发生数据损坏,某处内容破坏,则会引起其后汉字的混乱。
UNICODE 则一律使用两个字节表示一个字符,最明显的好处是它简化了汉字的处理过程。
UNICODE使用平面来描述编码空间,每个平面分为256行,256列,相对于两字节编码的高低两个字节。
UNICODE的第一个平面,称为BasicMultilingualPlane(基本多文种平面),简称BMP,由于BMP仅用两个字节表示,所以倍受青睐。
图2:BMP的最新概貌图其中A_ZONE为拼音文字编码区,拉丁文、阿拉伯文、日文的平假名及片假名等都在此区编码。
CJKExtensionA和CJK为汉字区域共计27487个汉字。
Y1即彝文,位于O-ZONE 保留待将来使用。
Hangul即韩文。
EUDC为用户私有区,用户可以根据需要自己定义此区的编码。
R-ZONE为限制使用区,一些兼容字符、特殊字符均放在此区。
UNICODE定义BMP中的D800-DFFF为代理区(SurrogateZone),其中D800-D8FF为高半代理(highsurrogate),DC00-DFFF为低半代理(lowsurrogate)。
从两个区域分别取一个编码,组成一个4字节的代理对来表示一个编码字符,此即为UTF-16。
利用UTF-16机制,UNICODE扩充了1024*1024个字符,相应于OO-OF平面,并且将02平面分配给了CJKExtensionB。
Microsoft在Windows2000已实现了UTF-16。
Unicode编码布局0000..007F;BasicLatin0080..00FF;Latin-1Supplement0100..017F;LatinExtended-A0180..024F;LatinExtended-B0250..02AF;IPAExtensions02B0..02FF;SpacingModifierLetters0300..036F;CombiningDiacriticalMarks0370..03FF;GreekandCoptic0400..04FF;Cyrillic0500..052F;CyrillicSupplementary0530..058F;Armenian0590..05FF;Hebrew0600..06FF;Arabic0700..074F;Syriac0780..07BF;Thaana0900..097F;Devanagari0980..09FF;Bengali0A00..0A7F;Gurmukhi0A80..0AFF;Gujarati0B00..0B7F;Oriya0B80..0BFF;Tamil0C00..0C7F;Telugu0C80..0CFF;Kannada0D00..0D7F;Malayalam0D80..0DFF;Sinhala0E00..0E7F;Thai0E80..0EFF;Lao0F00..0FFF;Tibetan1000..109F;Myanmar10A0..10FF;Georgian1100..11FF;HangulJamo1200..137F;Ethiopic13A0..13FF;Cherokee1400..167F;UnifiedCanadianAboriginalSyllabics1680..169F;Ogham16A0..16FF;Runic1700..171F;Tagalog1720..173F;Hanunoo1740..175F;Buhid1760..177F;Tagbanwa1780..17FF;Khmer1800..18AF;Mongolian1E00..1EFF;LatinExtendedAdditional1F00..1FFF;GreekExtended2000..206F;GeneralPunctuation2070..209F;SuperscriptsandSubscripts20A0..20CF;CurrencySymbols20D0..20FF;CombiningDiacriticalMarksforSymbols 2100..214F;LetterlikeSymbols2150..218F;NumberForms2190..21FF;Arrows2200..22FF;MathematicalOperators2300..23FF;MiscellaneousTechnical2400..243F;ControlPictures2440..245F;OpticalCharacterRecognition 2460..24FF;EnclosedAlphanumerics2500..257F;BoxDrawing2580..259F;BlockElements25A0..25FF;GeometricShapes2600..26FF;MiscellaneousSymbols2700..27BF;Dingbats27C0..27EF;MiscellaneousMathematicalSymbols-A 27F0..27FF;SupplementalArrows-A2800..28FF;BraillePatterns2900..297F;SupplementalArrows-B2980..29FF;MiscellaneousMathematicalSymbols-B 2A00..2AFF;SupplementalMathematicalOperators 2E80..2EFF;CJKRadicalsSupplement2F00..2FDF;KangxiRadicals2FF0..2FFF;IdeographicDescriptionCharacters 3000..303F;CJKSymbolsandPunctuation 3040..309F;Hiragana30A0..30FF;Katakana3100..312F;Bopomofo3130..318F;HangulCompatibilityJamo3190..319F;Kanbun31A0..31BF;BopomofoExtended31F0..31FF;KatakanaPhoneticExtensions 3200..32FF;EnclosedCJKLettersandMonths 3300..33FF;CJKCompatibility3400..4DBF;CJKUnifiedIdeographsExtensionA4E00..9FFF;CJKUnifiedIdeographsA000..A48F;YiSyllablesA490..A4CF;YiRadicalsAC00..D7AF;HangulSyllablesD800..DB7F;HighSurrogatesDB80..DBFF;HighPrivateUseSurrogatesDC00..DFFF;LowSurrogatesE000..F8FF;PrivateUseAreaF900..FAFF;CJKCompatibilityIdeographsFB00..FB4F;AlphabeticPresentationFormsFB50..FDFF;ArabicPresentationForms-AFE00..FE0F;VariationSelectorsFE20..FE2F;CombiningHalfMarksFE30..FE4F;CJKCompatibilityFormsFE50..FE6F;SmallFormVariantsFE70..FEFF;ArabicPresentationForms-BFF00..FFEF;HalfwidthandFullwidthFormsFFF0..FFFF;Specials10300..1032F;OldItalic10330..1034F;Gothic10400..1044F;Deseret1D000..1D0FF;ByzantineMusicalSymbols1D100..1D1FF;MusicalSymbols1D400..1D7FF;MathematicalAlphanumericSymbols 20000..2A6DF;CJKUnifiedIdeographsExtensionB2F800..2FA1F;CJKCompatibilityIdeographsSupplement E0000..E007F;TagsF0000..FFFFF;SupplementaryPrivateUseArea-A 100000..10FFFF;SupplementaryPrivateUseArea-B 0000..007F;BasicLatin0080..00FF;Latin-1Supplement0100..017F;LatinExtended-A0180..024F;LatinExtended-B0250..02AF;IPAExtensions02B0..02FF;SpacingModifierLetters0300..036F;CombiningDiacriticalMarks0370..03FF;GreekandCoptic0400..04FF;Cyrillic0500..052F;CyrillicSupplementary0530..058F;Armenian0590..05FF;Hebrew0600..06FF;Arabic0700..074F;Syriac0780..07BF;Thaana0900..097F;Devanagari0980..09FF;Bengali0A00..0A7F;Gurmukhi0A80..0AFF;Gujarati0B00..0B7F;Oriya0B80..0BFF;Tamil0C00..0C7F;Telugu0C80..0CFF;Kannada0D00..0D7F;Malayalam0D80..0DFF;Sinhala0E00..0E7F;Thai0E80..0EFF;Lao0F00..0FFF;Tibetan1000..109F;Myanmar10A0..10FF;Georgian1100..11FF;HangulJamo1200..137F;Ethiopic13A0..13FF;Cherokee1400..167F;UnifiedCanadianAboriginalSyllabics 1680..169F;Ogham16A0..16FF;Runic1700..171F;Tagalog1720..173F;Hanunoo1740..175F;Buhid1760..177F;Tagbanwa1780..17FF;Khmer1800..18AF;Mongolian1E00..1EFF;LatinExtendedAdditional1F00..1FFF;GreekExtended2000..206F;GeneralPunctuation2070..209F;SuperscriptsandSubscripts20A0..20CF;CurrencySymbols20D0..20FF;CombiningDiacriticalMarksforSymbols 2100..214F;LetterlikeSymbols2150..218F;NumberForms2190..21FF;Arrows2200..22FF;MathematicalOperators2300..23FF;MiscellaneousTechnical2400..243F;ControlPictures2440..245F;OpticalCharacterRecognition 2460..24FF;EnclosedAlphanumerics2500..257F;BoxDrawing2580..259F;BlockElements25A0..25FF;GeometricShapes2600..26FF;MiscellaneousSymbols2700..27BF;Dingbats27C0..27EF;MiscellaneousMathematicalSymbols-A 27F0..27FF;SupplementalArrows-A2800..28FF;BraillePatterns2900..297F;SupplementalArrows-B2980..29FF;MiscellaneousMathematicalSymbols-B2A00..2AFF;SupplementalMathematicalOperators2E80..2EFF;CJKRadicalsSupplement2F00..2FDF;KangxiRadicals2FF0..2FFF;IdeographicDescriptionCharacters 3000..303F;CJKSymbolsandPunctuation3040..309F;Hiragana30A0..30FF;Katakana3100..312F;Bopomofo3130..318F;HangulCompatibilityJamo3190..319F;Kanbun31A0..31BF;BopomofoExtended31F0..31FF;KatakanaPhoneticExtensions3200..32FF;EnclosedCJKLettersandMonths3300..33FF;CJKCompatibility3400..4DBF;CJKUnifiedIdeographsExtensionA4E00..9FFF;CJKUnifiedIdeographsA000..A48F;YiSyllablesA490..A4CF;YiRadicalsAC00..D7AF;HangulSyllablesD800..DB7F;HighSurrogatesDB80..DBFF;HighPrivateUseSurrogatesDC00..DFFF;LowSurrogatesE000..F8FF;PrivateUseAreaF900..FAFF;CJKCompatibilityIdeographsFB00..FB4F;AlphabeticPresentationFormsFB50..FDFF;ArabicPresentationForms-AFE00..FE0F;VariationSelectorsFE20..FE2F;CombiningHalfMarksFE30..FE4F;CJKCompatibilityFormsFE50..FE6F;SmallFormVariantsFE70..FEFF;ArabicPresentationForms-BFF00..FFEF;HalfwidthandFullwidthFormsFFF0..FFFF;Specials10300..1032F;OldItalic10330..1034F;Gothic10400..1044F;Deseret1D000..1D0FF;ByzantineMusicalSymbols1D100..1D1FF;MusicalSymbols1D400..1D7FF;MathematicalAlphanumericSymbols 20000..2A6DF;CJKUnifiedIdeographsExtensionB2F800..2FA1F;CJKCompatibilityIdeographsSupplementE0000..E007F;TagsF0000..FFFFF;SupplementaryPrivateUseArea-A100000..10FFFF;SupplementaryPrivateUseArea-B四、大五码(Big5)如不去考虑特殊符号,及后来的七个扩充字,TW-BIG5 的排序方式如下。