4汉字输入编码
第三章汉字编码原理

㈣标调拼音码
• 汉语是有声调的语言,汉语的声调是一 个重要的“音位”,具有重要的辨义功 能。有一种乐器叫做“雷琴”,可以只 用“音高”就能模拟汉语的句子。这个 例子足以说明汉语声调的重性。
• 拼音码为了降低重码率,采用标调的办法,这 样的拼音码,我们称之为“标调拼音码”。 • 汉语的音节是有数的:不加声调只有412个, 加声调则有1300个左右。 • 汉字共有6万个。收在《基本集》中的有67 63个。 • 不加声调平均每个音节约有15个重码,加上 重码分布的不平衡,个别的音节就有几十甚至 上百个; • 如果加上声调,平均每个音节只有不到4个重 码了。
拼音编码的瓶颈
• 同音字繁多,影响输入 • 《新华字典》中,读SHI音的字有72个, • 《汉语词典》中,读YI音的字有164个。
• • • • • • • •
同音词也影响编码输入 Shi-shi的词就有如下的24条: 失实、失时、诗史、失事、 失势、施事、实施、时时、 事事、时事、时势、时世、 时式、史诗、史实、试试、 誓师、事实、适时、事势、 逝世、世事、视事、实时
• 一般的编码方案多采用26个英文字母 作码元, • 也有的在这个基础上再增加10个数目 字,使码元数增加到36个的方案, • 还有的把字母键盘区的其它功能键也利 用上的。 • 这种需要增加码元数的方案多数是形码 方案。
3、确定编码规则
• 理想的规则是“字码意义对应” 、规则简单, 好学易记,没有复杂的条件限制或特例情况。 • 实际上最难做到。 • 比如按形排序,同笔画数的字很多,同笔画的 字当中,起笔相同的也不少,甚至笔顺相同的 也有。究竟谁先谁后,难以给出一个标准。 • 按音排序也有个同音字的先后问题。同音、同 调、同笔画数的汉字再按什么条件排先后,都 是难题。 • 人为地增加许多规定,势必增加用户的学习量。
汉字编码问题

汉字编码问题由于常常要和汉字处理打交道,因此,我常常受到汉字编码问题的困扰。
在不断的打击与坚持中,也积累了一点汉字编码方面的经验,想和大家一起分享。
一、汉字编码的种类汉字编码中现在主要用到的有三类,包括GBK,GB2312和Big5。
1、GB2312又称国标码,由国家标准总局发布,1981年5月1日实施,通行于大陆。
新加坡等地也使用此编码。
它是一个简化字的编码规范,当然也包括其他的符号、字母、日文假名等,共7445个图形字符,其中汉字占6763个。
我们平时说6768个汉字,实际上里边有5个编码为空白,所以总共有6763个汉字。
GB2312规定“对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示”,习惯上称第一个字节为“高字节”,第二个字节为“低字节”。
GB2312中汉字的编码范围为,第一字节0xB0-0xF7(对应十进制为176-247),第二个字节0xA0-0xFE(对应十进制为160-254)。
GB2312将代码表分为94个区,对应第一字节(0xa1-0xfe);每个区94个位(0xa1-0xfe),对应第二字节,两个字节的值分别为区号值和位号值加32(2OH),因此也称为区位码。
01-09区为符号、数字区,16-87区为汉字区(0xb0-0xf7),10-15区、88-94区是有待进一步标准化的空白区。
2、Big5又称大五码,主要为香港与台湾使用,即是一个繁体字编码。
每个汉字由两个字节构成,第一个字节的范围从0X81-0XFE(即129-255),共126种。
第二个字节的范围不连续,分别为0X40-0X7E(即64-126),0XA1-0XFE(即161-254),共157种。
3、GBK是GB2312的扩展,是向上兼容的,因此GB2312中的汉字的编码与GBK中汉字的相同。
另外,GBK中还包含繁体字的编码,它与Big5编码之间的关系我还没有弄明白,好像是不一致的。
GBK中每个汉字仍然包含两个字节,第一个字节的范围是0x81-0xFE(即129-254),第二个字节的范围是0x40-0xFE(即64-254)。
28常用字符编码

常用字符编码新课引入:计算机可以在屏幕上显示字符,这些字符可以是字母,标点符号,数字,汉字等。
计算机只认识二进制数,所以也只能用二进制数来表示每个显示和输出的字符。
为了使计算机的数据能够共享和传递,必须对字符进行相应的二进制编码。
目前常用的编码有如下几种:BCD码、ASCII码、汉字编码等。
一、BCD码1、什么是BCD码?用四位二进制数码来表示一位十进制数,这种编码称为BCD码(也叫8421码),即用二进制数表示的十进制数。
[例1]把十进制数7209化成BCD码。
解:7209的BCD码为:0111 0010 0000 1001练习:求十进制数4851的BCD码。
解:4851的BCD码为:0100 1000 0101 00012、对于BCD码的几点说明:(1)考虑人们使用习惯,通常在计算机输入输出过程中还是采用十进制,然后由机器转换成二进制。
BCD码的形式非常适于人类的这种习惯。
(2)BCD码虽然也用四位二进制数编码来表示每位十进制数用,但它没有把十进制数的值转换成真正的二进制值,不能按权展开求值。
如:十进制数28转换成二进制数为:11100十进制数28转换成BCD码为:00101000所以,BCD码与二进制之间转换是不能直接进行的,要先转换成十进制,再转换为二进制,因为BCD码实质上是十进制数,而形式上为二进制数,在转换上又与二进制数十六进制数之间的转换相似。
所以在学习时要注意不要混淆,加以区别。
练习:填表二、ASCII码1、什么叫ASCII码?ASCII码是美国标准信息交换码的缩写,它是目前国际上在计算机中用二进制数表示字母、数字、符号以及控制符号最常用的编码。
(1)常用字符有128个,编码从0到127(0000000―1111111)。
(2)控制字符:0-31、127,共33个,不可显示;(3)普通字符:95个,包括10个阿拉伯数字、52个英文大小写字母、33个运算符。
(4)每个字符占一个字节,最高位为0,后面跟7位二进制数。
标准中文电码

标准中文电码标准中文电码,也被称为简体字电码,是一种用来输入中文字符的输入法。
它是由中国国家标准GB/T 16264-1996《信息技术汉字输入编码方案》规定的。
标准中文电码的最基本单位是汉字。
每个汉字都有一个独特的电码,用于表示该汉字。
标准中文电码的编码方式是按照汉字的部首、偏旁、笔画等因素进行分类。
每个编码一般包括四位数字或字母。
标准中文电码的编码规则如下:1. 汉字的编码按照部首、偏旁、笔画的顺序进行。
首先根据汉字的部首进行分类,然后根据偏旁进行细分,最后再根据笔画进行具体编码。
2. 部首的编码采用一位数字表示,共有五个不同的编码范围,分别是1-5、6-10、11-15、16-20和21-23。
根据这个编码范围,可以确定该汉字的部首属于哪个编码范围。
3. 偏旁的编码采用一位数字表示,共有17个不同的编码范围,分别是1-17。
根据这个编码范围,可以确定该汉字的偏旁属于哪个编码范围。
4. 笔画的编码采用两位数字表示,共有99个不同的编码范围,从00到99。
根据这个编码范围,可以确定该汉字的笔画属于哪个编码范围。
5. 汉字的具体编码由部首、偏旁和笔画编码组成,一共是四位数字。
例如,字母A的编码是0001,字母B的编码是0002,以此类推。
标准中文电码的优点是简单、易学、易用。
由于采用了部首、偏旁和笔画等因素进行分类,使得汉字的编码更加准确和高效。
同时,标准中文电码还具有输入汉字简单、速度快的优点,适用于各种不同的输入设备和场景。
总之,标准中文电码是一种用来输入中文字符的输入法,它采用部首、偏旁、笔画等因素对汉字进行分类,通过编码来表示汉字。
它具有简单、易学、易用的特点,适用于各种不同的输入场景和设备。
信息编码(ASSCII码表)

它输出的则有点阵码和矢量码。点阵码占用的存储空间比较大, 而且在进行字号变化时效果很差,但可以直接送到输出设备进 行输出。矢量码则占用的存储空间较少,进行字号变化时不会 改变字形,效果较好,但需要进行适当处理后才能送到输出设 备进行输出。
观察ASCII码表 P108
ASCII码由7位二进制组成,高三位和低四位 34个控制字符、10个阿拉伯数字、26个大写
字母、26个小写字母、32个各种标点符号 和运算符号,总计34+10+26+26+32=128 个字符。其中,不可打印字符34个,可打 印字符94个。 N个二进制位能表示出2N种信息 N个R进制位能表示出RN种信息 请用ASCII码表示 I know you!
3、文本文件和非文本文件
只含有基本ASCII码中可显示字符码的文件称为文本文件或 正文文件,它是可以通过操作系统内部命令直接在屏幕上显示 的文件。文本编辑器(如DOS中的EDIT、Windows的“记事 本”)生成的文件都是文本文件,各种计算机语言源程序也是 文本文件。而字处理软件(如WPS、Word2000、Word2003、 Word2007、Word2010、方正排版系统等)生成的文件不是文 本文件,因为这些文件中不但含有文本,还含有很多格式信息 (如字型、字号、行间距、行宽等)。中文文件也不是文本文 件,因为中文文件中的中文字符不是基本ASCII码。凡是含有不 可显示字符或非基本ASCII码字符的文件,统称为非文本文件, 或称为二进制文件。
1.1.7.7 汉字交换码
汉字交换码是用于不同计算机汉字系统之间进行信息交 换的汉字代码。因为实际汉字系统中使用的汉字内码不尽相同, 必须采用统一的编码才能在不同系统间交流汉字信息。目前国 内使用的汉字交换代码是“中国国家标准信息交换用汉字编码 字符表——基本集”,即GB—2312—80(简称国标码)及若 干辅助集。
五笔汉字录入-(识别码)少于4字根字

洒:氵→西,识别码:末笔横、左右型1→1横,编码: ISG;
字:宀→子,识别码:末笔横、上下型2→2横,编码: PBF;
沐:氵→木,识别码:末笔点、左右型1→1点,编码: ISY;
同:冂→一→口,识别码:末笔横、杂合型3→3横,编 码:MGKD。
五笔字型均直观,依照笔顺把码编; 键名汉字打四下,基本字根请照搬; 一二三末取四码,顺序拆分大优先; 不足四码要注意,交叉识别补后边。
表:末笔字型识别码表
字型
末笔型
横1 竖2 撇3 捺4 折5
பைடு நூலகம்
左右型 1
11 G 借 22 H 部 33 T 伐 44 Y 认 55 N 孔
上下型 2
12 F 全 22 J 章 32 R 笺 42 U 定 52 B 岂
杂合型 3
13 D 里 23 K 匠 33 E 必 43 I 叉 53 V 无
例如:
(2) 字根不足4个的一般汉字编码 输入时,按顺序取字根编码再补一个末笔字型交 叉识别码,若给出识别码还不足4码,则补空格结束。
末笔字型交叉识别码的确定:首先看组成该字的 末笔笔画,确定笔画代号(对应一,丨,丿,丶,乙 分别为1,2,3,4,5);其次再看该汉字的字型 (左右型、上下型、杂合型),确定字型代号(对应 左右、上下、杂合分别为1,2,3)。就很容易得到识 别码的区位。
关于末笔的几项说明: ① 对于带“框”的“国、团”等与带“走之”的 字:末笔一律取包围部分的末笔。例如,“进”的末 笔取“丨”;“团”的末笔取“丿”。 ② 九、刀、力、匕等末笔为折。例如,男、花等。 ③ 我、戋、成等字的末笔,按“从上到下”的原 则,一律规定末笔为撇。
汉字编码对照表122125

汉字编码对照表122125入汉字查询对应的编码,或者输入编码查询对应的汉字。
一次最多查询99个字或编码:输入汉字时连续输入即可;输入编码时,十进制编码之间用空格分隔(也可以是逗号或分号),其它进制编码连续输入即可。
进制说明:二进制和十六进制是符合计算机规则的字节序编码;十进制是对十六进制编码的整体转换。
因此,在进行连续识别时,十进制不适用。
字符集编码是指对多个字符(通常在几十到几万个不等)进行整合封装成一个文件所使用的编码,外部程序通过这种编码就可以从字符集文件中调用指定的字符。
我们常见的计算机字体文件就使用了字符集编码,通过输入法输入文字或者浏览网页时都会通过指定的字符集编码从字体文件中调用字符。
以下是常见的汉字字符集编码:GB2312编码:1981年5月1日发布的简体中文汉字编码国家标准。
GB2312对汉字采用双字节编码,收录7445个图形字符,其中包括6763个汉字。
BIG5编码:台湾地区繁体中文标准字符集,采用双字节编码,共收录13053个中文字,1984年实施。
GBK编码:1995年12月发布的汉字编码国家标准,是对GB2312编码的扩充,对汉字采用双字节编码。
GBK字符集共收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。
GB18030编码:2000年3月17日发布的汉字编码国家标准,是对GBK编码的扩充,覆盖中文、日文、朝鲜语和中国少数民族文字,其中收录27484个汉字。
GB18030字符集采用单字节、双字节和四字节三种方式对字符编码。
兼容GBK和GB2312字符集。
Unicode编码:国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。
Unicode采用四个字节为每个字符编码。
UTF-8和UTF-16编码:Unicode编码的转换格式,可变长编码,相对于Unicode更节省空间。
UTF-16的字节序有大尾序(big-endian)和小尾序(little-endian)之别。
汉字编码实验

汉字编码实验
实验目的
⏹理解汉字机内码
☐能通过工具批量获取一段汉字的机内码
⏹理解汉字区位码
☐利用简单电路实现汉字机内码与区位码的转换⏹理解汉字字形码
☐能在实验环境中实现汉字机内码的点阵显示
汉字表示法
⏹机内码:计算机内存储字符时使用的编码
文字类别标准占位有效位MSB
英文字符ASCII单字节70
汉字字符GB2312双字节141⏹区位码:4位10进制
☐94*94矩阵(行---区,列---位,编号从1开始)
☐GB2312 汉字机内码=区位码+0xA0A0
⏹字形码:输出汉字点阵的信息编码
☐点阵信息量大,所占存储空间大
☐用来构成汉字字库,不能用于机内存储
实验任务(data.circ 汉字显示子电路)
工具批量获取GB2312机内码16位机内码14位区位码
32*32位字形码
将班级+姓名+ 学号+ 一段自选文字在电路中自动显示
实验电路data.circ
国标转区位码
汉字显示子电路
步骤1、实现国标转区位码子电路
⏹将16位GB2312机内码转换为区位码区号、位号各7位⏹引脚、子电路外观勿增删改,使用隧道标签构建电路
⏹禁止使用Logisim中的减法器
步骤2、获取汉字GB2312机内码
⏹利用Windows记事本输入一段汉字,另存为…
⏹如何获取机内码?
☐自制工具?
☐现有工具?
步骤3、汉字编码显示自动测试
存放刚获得的汉字机内码
时钟频率8Hz,Ctrl+k,Command+k自动测试,提交检查
下节课再见…。