计算机科学2008Voi.35NQ.4B
几种典型汉字编码之间转换的原理与实现
周
(西南石油大学计算机科学学院
成都610500)1
永1
陈宁2
成都610213)2
(中国石油西南油气田公司输气管理处
摘要本文讨论汉字与机内码、区位码、Unicode编码之间如何进行相互转换。在介绍了汉字编码的基本概念后,分析了汉字的编码规则与内在联系,最后用Java语言给出了编码之间转换的一种具体实现。关键词汉字,编码转换,机内码,区位码,Umcode,Java
种方法允许分派65536个唯一的字符。这样的编码数量,几乎可以表示世界上所有可书写语言。汉字的Unicode编码是从19968(十进制)开始,到40869结束,总共20902个汉字。在对中文资料进行汉字数量统计时,实际上判断Unieode编码是不是位于上述范围之内就可以了。
在分别介绍了三种编码之后,接下来讨论它们之间的关系。对GB2312中的汉字而言,机内码和区位码之间的关系最为密切。首先来看看如何从区位码得到汉字的机内码。将区码加上十进制的160,位码也同样加上160,得到的结果分别转换为十六进制,再连接起来,就是汉字的机内码。例如“周”字的区位码是5460,区码54加上160等于214,转换为十六进制就是“D6”;位码60加上160等于220,转换为十六进制就是“DC"。因此,从“周”的区位码5460,可以得到其机内码的十六进制形式为“D6DC,’。同样地,也可以用汉字的机内码,得到汉字的区位码。因为机内码通常是用十六进制表示,减去十进制的160,就是减去十六进制的A0。例如,某个汉字的机内码是“BCDE"。用BC减去A0等于1C,即十进制的28;用DE减去A0等于3E,即十进制的62。最终得到的区位码是2862,对应汉字中的“嫁”字。从上述分析我们可以看出,对GB2312中的汉字,机内码和区位码之间关系密切,可以很容易的相互转换。但要从上述编码得到汉字的Um—code编码,实际上无法直接获取。要从机内码或区位码得到汉字的Unicode编码,必须先得到此汉字。在Java这样的语言中,基本数据类型中的char类型用两个字节存储,可以很方便地得到汉字的Unieode编码。
需要说明的是,使用区位码输入法可以直接得到汉字。但在编程时,直接由区位码(不经过机内码)得到汉字的难度较大。此外,要从汉字的Unieode编码得到其它编码,中途应先得到汉字。但因Unicode编码中汉字有20902个,而GB2312中的汉字是6763个,很显然,对不在GB2312编码之列的汉字,是不存在区位码概念的。例如,“钢铁”二字的繁体写法是“鲷戡”。这两个繁体字有对应的Unicode编码,但因为它们不属于GB2312中的汉字,所以没有区位码。
1
引言
汉字是我国使用最为广泛的文字,在计算机被广泛应用
的今天,研究汉字在计算机内的各种编码及其相互转换,具有很大的应用价值。不少时候都存在这样的需要:由汉字得到其对应的区位码,计算文档中的汉字数量;对大量文献进行汉字使用频度统计。要完成以上任务,就必须研究汉字在计算机内的一些编码。本文重点讨论汉字与它的机内码、区位码、Unicode编码这四者之间,如何在已知其一的情况下,得到其它三项。
2原理分析
汉字要在计算机内部存储,首先必须按照一定的编码规则进行编码[1]。本文讨论的机内码和Unieode编码,在某种意义上都属于计算机内部的存储码,而区位码是属于输入码的一种。把区位码纳入讨论范围,是因为很多时候有获取区位码的需要。如高考报名时考生就需要填写和姓名对应的区位码。以下先简单介绍一下三种编码:
机内码[2]:计算机中的所有文字符号都是用编码的方式来实现的,这在本质上都是一些二进制的组合。因为汉字的数量较多,用一个字节的8个二进制位,元法对所有汉字进行编码。汉字在计算机内存储时,采用两个字节进行编码,也就是16个二进制位。例如“编程技巧”中的“编”字,在实际存储时的编码,用十六进制表示是“B1EO”,用二迸制表示是“10110001”和“11100000”。
区位码:要谈区位码,就必须知道GB2312—80。1980年,我国制定了“信息交换汉字编码字符集及其交换码标准GB2312-80”(以下简称GB2312)。GB2312将汉字表分为94个区,每个区94个位,这种编码方式我们称为区位码。对汉字“周”而言,区码是54,位码是60,即采用区位输入法时键入“5460”便可得到“周”字。GB2312收录的汉字分成两级:第一级是常用汉字计3755个,置于16到55区,按汉语拼音、笔形顺序排列;第二级汉字是次常用汉字计3008个,置于56到87区,按部首、笔画顺序排列。一二级汉字从16区到87区总共有72个区,每个区可编码94个汉字,故72个区理论上能编码的汉字总量是72*94=6768个。但因为一级汉字的编码到5589截止,5590到5594这5个编码没有使用,所以72个区实际编码的汉字总数是72*94—5=6763个。
Ur【icode编码[3]:Unicode编码是基于文本的计算机数据编码构架。Unicode使用两个字节(16位)表示每个字符,这
3具体实现
Java中对一个String类的对象,可依次取出每一个字符,之后便可顺利得到Unieode编码。需要说明的是,我们通过遍历取出字符串中每一个字符时,可以用String类的charAt方法或者substfing方法。这两个方法的返回类型有所不同,可以根据不同的需要做不同选择:要得到Unicode编码时用
周永讲师,主要从事软件工程教学与研究;陈宁工程师,硕士,主要从事天然气管道抢修研究工作.
・
99・
*ha-At方法,要得到机内码时用substring方珐。
public
cl-“reharAt(iraindex)
publicStringsubstring
(Intheglnlndex,Intendlndex)
对取出的单十字符(String类的对象).用S£n醒娄的
gerbils(1方法,可转化为字节敷组的表示形式。再用In廿get类的toHexString方法,便可“把byte类型转化为十^进
制秸式,执而得封虮内码。得到机内码之后,也就客另得到汉字的E位码了。
需要注意,Java巾的byte[”娄型,能表示的范围是从
--128到+127。对于小于0的by[e数据,我们应该加上256
使它变为正数,之后再做进制转换。此外,在得到&字的机内
码之后,用机内码的每一十字节减去十进制的160.即可得到Ⅸ位码。需注意用户输人的汉字,如果是Uainode编码自的汉宇t但不属fGI≈312时,计算出的B位码是错误的(宴际t遣些汉字根车没有E位码)。下面给出Java版的部分棱心代码:
private
voidqueryCoding(SmngsAm)
{/胀次取出每一十字符进行操作
k“inti
0{1<sA嘻length()fl++)
{//首先判断是不是汉字,不是则院过
charch—sArg.ciw4-At(1)I
if(ch<19968
//用蛐bs
ch>40869)∞训nue.
ng来截取一个字符
StringsWord—sang.suhtring(i.1+1)
//尝试得到机内码
byteⅡ]=sWord.getByt∞O}
//将字节娄型转换为十^进制SmngsHexA=byteToHex(b[0]){
String
sHex8=byteToHex(bill);
//将字节类■转换为二进制
StringsBinAbyteToBimry(b[0]){
String
sHr【B—b”eTo&naw(咂1]),//得到机内日,存刊sNe口Ma中
StringsNeiMa--
sHexA+sHexB+“(”+s“nA+“,”+sBinB+“)”}
Ⅳ尝试得到Ⅱ位码
StrinIr
soLLMa=
ht《eL
mSmng(M0]+256--160);
StnIjgsWekVh=In!eger,toString(bLl]+256-160),
//E码从16到87,i位码儿01到94,需要在有些位码
前朴±字符o
it(sWeM&leag’h()一一1)
sWeiMa=“O”+sW目MaI//得到Ⅸ位码.存放到sQuWei中
St,i*gsQuWei=sQuMa+sWeiM“
∥显示结果到文本B域中
a珊NeiML
append(sNeiMa+SAPCE)・
ar自QuWel
appe|】d(sQuWei+s^PcD
蚴Unicod‘append((Int)ch+SAPCE)
}//e.dolbr}//endol
qu唰%
程序的运行效果如图1所示。
结束语“±根据&字编码之间存在的内部规律,写出了自祝宇得到其它三种编码的Java程序。宴际i,儿汉宇的机自码、Ⅸ位码或Urdeode编码之中的任何一种,都可“得到相应的汉字或其它编码。在理解编日的原Ⅲ和相§联系后,要写&其它转换的代码,就可触类旁通.轻松实现。为便于代
日重用,还可u用“上思路写一个J—Bean。该JavaB“n的
构造方法应采用重载.可接收汉字或某种编码来构造对象,之后便W让用户轻橙得到其它编码。
参考文献
[1](*)自§(Shelly+&∞,#§‰H*{*”#&(《¥*5m)
[M]]匕§-n#IⅡm《#,2004,4.188-193
[2]Pm女*自∞w目&}&日Ⅲ4口]i自#《★#{m(自
##{m)+2004(2)Z546
[卯#m&,∞*±*fJam∞#自m*口}#日∞日¥[J]m
!自∞&月.2005,21(6);38{9
[4]*Ⅲ摹JamⅢ自"≈目《[M]m自-自frnm&#,2006,
7-75"18
几种典型汉字编码之间转换的原理与实现
作者:作者单位:
周永, 陈宁
周永(西南石油大学计算机科学学院,成都 610500), 陈宁(中国石油西南油气田公司输气管理处,成都 610213)
相似文献(6条)
1.期刊论文 程小刚. 郭韧. CHENG Xiao-gang. GUO Ren GB18030与Unicode编码转换算法 -华侨大学学报(自然科学版)2009,30(1)
在分析GB18030和Unicode标准编码空间和对应关系的基础上,提出一种基于计算和查表相结合的转换算法.它利用这两种编码标准之间的"范围对应"关系,显著减少对应表的大小,因而可用于对资源要求十分严格的嵌入式设备与系统中.所提出的算法经简单变换也可用于不同的Unicode编码方式,如UTF8,UTF16等与GB 18030之间的转换.
2.学位论文 范剑锋 基于Ada95的语法分析器生成工具的研究 2000
语言识别器生成系统对面向对象技术的支持,是该领域研究的主要课题之一.该论文在基于Ada83的语法分析器生成工具XDAYACC的基础上,结合面向对象程序设计语言Ada95,设计和实现了基于Ada95的语法分析器生成工具XDA95YACC,支持面向对象的程序设计.该论文用面向对象的方法将传统的语法分析器构造为一个语法分析器类,使语法分析器成为语法分析器类的一个实例,可以通过继承对语法分析器类进行必要的扩充,从而在语言识别器的构造过程中引入了面向对象技术.同时,该论文还设计和实现了汉字编码转换器和语言识别器生成系统集成环境.
3.期刊论文 倪晓军. NI Xiao-jun 高效Unicode/GB编码转换算法的设计和实现 -计算机技术与发展2009,19(9)
为了在存储空间和运算能力严格受限的嵌入式系统中实现Unicode和GB2312编码的相互转换,设计了一种高效率的编码转换算法.该算法通过提取数据表中公共部分实现压缩存储,采用索引和二分法查找相结合的方式进行快速查找,和传统的转换算法相比约节省25%的存储空间,查找效率最高约提高3倍.该算法可在无操作系统支持的嵌入式系统中实现汉字编码之间的高效率的转换.
4.期刊论文 李玉红. 甄玉杰 浅谈汉字编码技术 -承德医学院学报2006,23(1)
随着计算机与互联网技术的发展以及汉语在世界范围内日益广泛的应用,以汉语作为交流界面的计算机应用程序和嵌入式设备被越来越多的使用.汉字编码技术则是这些应用的重要底层技术之一.本文介绍了各种汉字编码的特点,以及如何用高级语言实现汉字与编码的相互转换.
5.期刊论文 彭利民. 孙素云. PENG Li-min. SUN Su-yun JSP和Servlet网络编程设计中汉字编码的研究 -计算机与现代化2006,""(3)
JSP和Servlet是基于Java语言的跨平台Web开发工具,在进行网络编程设计中,人们常碰见中文字符编码处理等问题.本文通过介绍字符集编码相关理论,并分析JSP和Servlet运行各阶段字符的编码形式,提出解决中文字符编码转换问题的方法.
6.学位论文 孟迎 基于统计的机器学习的中文命名实体识别 2004
本文运用统计与规则相结合的方法,一方面利用了较大规模的语料库来训练,统计命名实体的用字用词规律.另一方面,从已经标注的语料库中提取了大量用于识别的规则,最终成功的实现了这些命名实体的识别,识别的精度比单纯基于统计的方法和单纯基于规则的方法都有所提高,具体地,本文的工作主要集中在以下几个方面:1.汉字编码转换.汉字编码是汉语文本进入计算机处理的第一步.汉语由于存在简体、繁体两种体统,编码比较复杂,编码的格式并不统一.本文研究并实现了汉语不同编码体统之前的转换,支持当前所有主要汉语编码间的转换并实现了多种汉字符号集的共存.为后面的文本预处理和命名实体识别提供了基础.2.非汉字符号和数字识别.非汉字符号和数字是文本中比较容易识别的部分,可以在命名实体识别之前进行处理.本文首先对不同格式、不同内容的文本进行了分句处理,然后对文本中的非汉字符号,如百分比、金额、阿拉伯数字等,以及汉字数字进行了识别.3.基于评价函数的人名地名识别.本文通过对大规模标注语料进行训练,统计出人名、地名的用字、用词和上下文特性,用基于统计的评价函数对侯选人名、地名进行打分,通过运用动态规划方法识别出人名、地名在文本中可能出现的位置.4.基于决策树的命名实体识别.引入机器学习的方法,设计了一种基于决策树的识别模型,结合了命名实体句法组成的基本结构特征和上下文特征,该方法不依赖于分词系统,可以对分词过后的语料进行处理,同时也对其它命名实体进行了识别.5.基于模板匹配的机构名识别.通过真实语料中获取的大量机构名,对机构名的组成进行了深入的剖析,总结出识别机构名的模板,提出了一种基于模板匹配的汉语机构名识别方法.6.介绍集成基于多种策略的命名实体识别技术的两个系统,并分别给出若干示例,说明命名实体识别在其中的作用.
本文链接:http://d.g.wanfangdata.com.cn/Conference_7074434.aspx
授权使用:武汉大学(whdx),授权号:375f9910-23a3-45c6-81d9-9e3c000b4157
下载时间:2010年11月28日
计算机科学2008Voi.35NQ.4B
几种典型汉字编码之间转换的原理与实现
周
(西南石油大学计算机科学学院
成都610500)1
永1
陈宁2
成都610213)2
(中国石油西南油气田公司输气管理处
摘要本文讨论汉字与机内码、区位码、Unicode编码之间如何进行相互转换。在介绍了汉字编码的基本概念后,分析了汉字的编码规则与内在联系,最后用Java语言给出了编码之间转换的一种具体实现。关键词汉字,编码转换,机内码,区位码,Umcode,Java
种方法允许分派65536个唯一的字符。这样的编码数量,几乎可以表示世界上所有可书写语言。汉字的Unicode编码是从19968(十进制)开始,到40869结束,总共20902个汉字。在对中文资料进行汉字数量统计时,实际上判断Unieode编码是不是位于上述范围之内就可以了。
在分别介绍了三种编码之后,接下来讨论它们之间的关系。对GB2312中的汉字而言,机内码和区位码之间的关系最为密切。首先来看看如何从区位码得到汉字的机内码。将区码加上十进制的160,位码也同样加上160,得到的结果分别转换为十六进制,再连接起来,就是汉字的机内码。例如“周”字的区位码是5460,区码54加上160等于214,转换为十六进制就是“D6”;位码60加上160等于220,转换为十六进制就是“DC"。因此,从“周”的区位码5460,可以得到其机内码的十六进制形式为“D6DC,’。同样地,也可以用汉字的机内码,得到汉字的区位码。因为机内码通常是用十六进制表示,减去十进制的160,就是减去十六进制的A0。例如,某个汉字的机内码是“BCDE"。用BC减去A0等于1C,即十进制的28;用DE减去A0等于3E,即十进制的62。最终得到的区位码是2862,对应汉字中的“嫁”字。从上述分析我们可以看出,对GB2312中的汉字,机内码和区位码之间关系密切,可以很容易的相互转换。但要从上述编码得到汉字的Um—code编码,实际上无法直接获取。要从机内码或区位码得到汉字的Unicode编码,必须先得到此汉字。在Java这样的语言中,基本数据类型中的char类型用两个字节存储,可以很方便地得到汉字的Unieode编码。
需要说明的是,使用区位码输入法可以直接得到汉字。但在编程时,直接由区位码(不经过机内码)得到汉字的难度较大。此外,要从汉字的Unieode编码得到其它编码,中途应先得到汉字。但因Unicode编码中汉字有20902个,而GB2312中的汉字是6763个,很显然,对不在GB2312编码之列的汉字,是不存在区位码概念的。例如,“钢铁”二字的繁体写法是“鲷戡”。这两个繁体字有对应的Unicode编码,但因为它们不属于GB2312中的汉字,所以没有区位码。
1
引言
汉字是我国使用最为广泛的文字,在计算机被广泛应用
的今天,研究汉字在计算机内的各种编码及其相互转换,具有很大的应用价值。不少时候都存在这样的需要:由汉字得到其对应的区位码,计算文档中的汉字数量;对大量文献进行汉字使用频度统计。要完成以上任务,就必须研究汉字在计算机内的一些编码。本文重点讨论汉字与它的机内码、区位码、Unicode编码这四者之间,如何在已知其一的情况下,得到其它三项。
2原理分析
汉字要在计算机内部存储,首先必须按照一定的编码规则进行编码[1]。本文讨论的机内码和Unieode编码,在某种意义上都属于计算机内部的存储码,而区位码是属于输入码的一种。把区位码纳入讨论范围,是因为很多时候有获取区位码的需要。如高考报名时考生就需要填写和姓名对应的区位码。以下先简单介绍一下三种编码:
机内码[2]:计算机中的所有文字符号都是用编码的方式来实现的,这在本质上都是一些二进制的组合。因为汉字的数量较多,用一个字节的8个二进制位,元法对所有汉字进行编码。汉字在计算机内存储时,采用两个字节进行编码,也就是16个二进制位。例如“编程技巧”中的“编”字,在实际存储时的编码,用十六进制表示是“B1EO”,用二迸制表示是“10110001”和“11100000”。
区位码:要谈区位码,就必须知道GB2312—80。1980年,我国制定了“信息交换汉字编码字符集及其交换码标准GB2312-80”(以下简称GB2312)。GB2312将汉字表分为94个区,每个区94个位,这种编码方式我们称为区位码。对汉字“周”而言,区码是54,位码是60,即采用区位输入法时键入“5460”便可得到“周”字。GB2312收录的汉字分成两级:第一级是常用汉字计3755个,置于16到55区,按汉语拼音、笔形顺序排列;第二级汉字是次常用汉字计3008个,置于56到87区,按部首、笔画顺序排列。一二级汉字从16区到87区总共有72个区,每个区可编码94个汉字,故72个区理论上能编码的汉字总量是72*94=6768个。但因为一级汉字的编码到5589截止,5590到5594这5个编码没有使用,所以72个区实际编码的汉字总数是72*94—5=6763个。
Ur【icode编码[3]:Unicode编码是基于文本的计算机数据编码构架。Unicode使用两个字节(16位)表示每个字符,这
3具体实现
Java中对一个String类的对象,可依次取出每一个字符,之后便可顺利得到Unieode编码。需要说明的是,我们通过遍历取出字符串中每一个字符时,可以用String类的charAt方法或者substfing方法。这两个方法的返回类型有所不同,可以根据不同的需要做不同选择:要得到Unicode编码时用
周永讲师,主要从事软件工程教学与研究;陈宁工程师,硕士,主要从事天然气管道抢修研究工作.
・
99・
*ha-At方法,要得到机内码时用substring方珐。
public
cl-“reharAt(iraindex)
publicStringsubstring
(Intheglnlndex,Intendlndex)
对取出的单十字符(String类的对象).用S£n醒娄的
gerbils(1方法,可转化为字节敷组的表示形式。再用In廿get类的toHexString方法,便可“把byte类型转化为十^进
制秸式,执而得封虮内码。得到机内码之后,也就客另得到汉字的E位码了。
需要注意,Java巾的byte[”娄型,能表示的范围是从
--128到+127。对于小于0的by[e数据,我们应该加上256
使它变为正数,之后再做进制转换。此外,在得到&字的机内
码之后,用机内码的每一十字节减去十进制的160.即可得到Ⅸ位码。需注意用户输人的汉字,如果是Uainode编码自的汉宇t但不属fGI≈312时,计算出的B位码是错误的(宴际t遣些汉字根车没有E位码)。下面给出Java版的部分棱心代码:
private
voidqueryCoding(SmngsAm)
{/胀次取出每一十字符进行操作
k“inti
0{1<sA嘻length()fl++)
{//首先判断是不是汉字,不是则院过
charch—sArg.ciw4-At(1)I
if(ch<19968
//用蛐bs
ch>40869)∞训nue.
ng来截取一个字符
StringsWord—sang.suhtring(i.1+1)
//尝试得到机内码
byteⅡ]=sWord.getByt∞O}
//将字节娄型转换为十^进制SmngsHexA=byteToHex(b[0]){
String
sHex8=byteToHex(bill);
//将字节类■转换为二进制
StringsBinAbyteToBimry(b[0]){
String
sHr【B—b”eTo&naw(咂1]),//得到机内日,存刊sNe口Ma中
StringsNeiMa--
sHexA+sHexB+“(”+s“nA+“,”+sBinB+“)”}
Ⅳ尝试得到Ⅱ位码
StrinIr
soLLMa=
ht《eL
mSmng(M0]+256--160);
StnIjgsWekVh=In!eger,toString(bLl]+256-160),
//E码从16到87,i位码儿01到94,需要在有些位码
前朴±字符o
it(sWeM&leag’h()一一1)
sWeiMa=“O”+sW目MaI//得到Ⅸ位码.存放到sQuWei中
St,i*gsQuWei=sQuMa+sWeiM“
∥显示结果到文本B域中
a珊NeiML
append(sNeiMa+SAPCE)・
ar自QuWel
appe|】d(sQuWei+s^PcD
蚴Unicod‘append((Int)ch+SAPCE)
}//e.dolbr}//endol
qu唰%
程序的运行效果如图1所示。
结束语“±根据&字编码之间存在的内部规律,写出了自祝宇得到其它三种编码的Java程序。宴际i,儿汉宇的机自码、Ⅸ位码或Urdeode编码之中的任何一种,都可“得到相应的汉字或其它编码。在理解编日的原Ⅲ和相§联系后,要写&其它转换的代码,就可触类旁通.轻松实现。为便于代
日重用,还可u用“上思路写一个J—Bean。该JavaB“n的
构造方法应采用重载.可接收汉字或某种编码来构造对象,之后便W让用户轻橙得到其它编码。
参考文献
[1](*)自§(Shelly+&∞,#§‰H*{*”#&(《¥*5m)
[M]]匕§-n#IⅡm《#,2004,4.188-193
[2]Pm女*自∞w目&}&日Ⅲ4口]i自#《★#{m(自
##{m)+2004(2)Z546
[卯#m&,∞*±*fJam∞#自m*口}#日∞日¥[J]m
!自∞&月.2005,21(6);38{9
[4]*Ⅲ摹JamⅢ自"≈目《[M]m自-自frnm&#,2006,
7-75"18
几种典型汉字编码之间转换的原理与实现
作者:作者单位:
周永, 陈宁
周永(西南石油大学计算机科学学院,成都 610500), 陈宁(中国石油西南油气田公司输气管理处,成都 610213)
相似文献(6条)
1.期刊论文 程小刚. 郭韧. CHENG Xiao-gang. GUO Ren GB18030与Unicode编码转换算法 -华侨大学学报(自然科学版)2009,30(1)
在分析GB18030和Unicode标准编码空间和对应关系的基础上,提出一种基于计算和查表相结合的转换算法.它利用这两种编码标准之间的"范围对应"关系,显著减少对应表的大小,因而可用于对资源要求十分严格的嵌入式设备与系统中.所提出的算法经简单变换也可用于不同的Unicode编码方式,如UTF8,UTF16等与GB 18030之间的转换.
2.学位论文 范剑锋 基于Ada95的语法分析器生成工具的研究 2000
语言识别器生成系统对面向对象技术的支持,是该领域研究的主要课题之一.该论文在基于Ada83的语法分析器生成工具XDAYACC的基础上,结合面向对象程序设计语言Ada95,设计和实现了基于Ada95的语法分析器生成工具XDA95YACC,支持面向对象的程序设计.该论文用面向对象的方法将传统的语法分析器构造为一个语法分析器类,使语法分析器成为语法分析器类的一个实例,可以通过继承对语法分析器类进行必要的扩充,从而在语言识别器的构造过程中引入了面向对象技术.同时,该论文还设计和实现了汉字编码转换器和语言识别器生成系统集成环境.
3.期刊论文 倪晓军. NI Xiao-jun 高效Unicode/GB编码转换算法的设计和实现 -计算机技术与发展2009,19(9)
为了在存储空间和运算能力严格受限的嵌入式系统中实现Unicode和GB2312编码的相互转换,设计了一种高效率的编码转换算法.该算法通过提取数据表中公共部分实现压缩存储,采用索引和二分法查找相结合的方式进行快速查找,和传统的转换算法相比约节省25%的存储空间,查找效率最高约提高3倍.该算法可在无操作系统支持的嵌入式系统中实现汉字编码之间的高效率的转换.
4.期刊论文 李玉红. 甄玉杰 浅谈汉字编码技术 -承德医学院学报2006,23(1)
随着计算机与互联网技术的发展以及汉语在世界范围内日益广泛的应用,以汉语作为交流界面的计算机应用程序和嵌入式设备被越来越多的使用.汉字编码技术则是这些应用的重要底层技术之一.本文介绍了各种汉字编码的特点,以及如何用高级语言实现汉字与编码的相互转换.
5.期刊论文 彭利民. 孙素云. PENG Li-min. SUN Su-yun JSP和Servlet网络编程设计中汉字编码的研究 -计算机与现代化2006,""(3)
JSP和Servlet是基于Java语言的跨平台Web开发工具,在进行网络编程设计中,人们常碰见中文字符编码处理等问题.本文通过介绍字符集编码相关理论,并分析JSP和Servlet运行各阶段字符的编码形式,提出解决中文字符编码转换问题的方法.
6.学位论文 孟迎 基于统计的机器学习的中文命名实体识别 2004
本文运用统计与规则相结合的方法,一方面利用了较大规模的语料库来训练,统计命名实体的用字用词规律.另一方面,从已经标注的语料库中提取了大量用于识别的规则,最终成功的实现了这些命名实体的识别,识别的精度比单纯基于统计的方法和单纯基于规则的方法都有所提高,具体地,本文的工作主要集中在以下几个方面:1.汉字编码转换.汉字编码是汉语文本进入计算机处理的第一步.汉语由于存在简体、繁体两种体统,编码比较复杂,编码的格式并不统一.本文研究并实现了汉语不同编码体统之前的转换,支持当前所有主要汉语编码间的转换并实现了多种汉字符号集的共存.为后面的文本预处理和命名实体识别提供了基础.2.非汉字符号和数字识别.非汉字符号和数字是文本中比较容易识别的部分,可以在命名实体识别之前进行处理.本文首先对不同格式、不同内容的文本进行了分句处理,然后对文本中的非汉字符号,如百分比、金额、阿拉伯数字等,以及汉字数字进行了识别.3.基于评价函数的人名地名识别.本文通过对大规模标注语料进行训练,统计出人名、地名的用字、用词和上下文特性,用基于统计的评价函数对侯选人名、地名进行打分,通过运用动态规划方法识别出人名、地名在文本中可能出现的位置.4.基于决策树的命名实体识别.引入机器学习的方法,设计了一种基于决策树的识别模型,结合了命名实体句法组成的基本结构特征和上下文特征,该方法不依赖于分词系统,可以对分词过后的语料进行处理,同时也对其它命名实体进行了识别.5.基于模板匹配的机构名识别.通过真实语料中获取的大量机构名,对机构名的组成进行了深入的剖析,总结出识别机构名的模板,提出了一种基于模板匹配的汉语机构名识别方法.6.介绍集成基于多种策略的命名实体识别技术的两个系统,并分别给出若干示例,说明命名实体识别在其中的作用.
本文链接:http://d.g.wanfangdata.com.cn/Conference_7074434.aspx
授权使用:武汉大学(whdx),授权号:375f9910-23a3-45c6-81d9-9e3c000b4157
下载时间:2010年11月28日