字符转换的方法以及系统技术方案

技术编号:2850334 阅读:124 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出一种字符转换方法,用以将字符编码由来源字符集转换至目的字符集。来源字符集及目的字符集经过分析而得到对映表,对映表用以表示来源字符集及目的字符集之间的关系。将目标字符以来源字符集进行编码之来源字符码,依据对映表而转换为以目的字符集而编码之目的字符码。

【技术实现步骤摘要】

本专利技术是有关于一种字符转换技术,特别是有关于一种将字符于不同字符集间进行字符编码转换的方法及系统。
技术介绍
字符编码/译码(character encoding/decoding)可应用于多语文应用系统中,多语文应用系统可实现于许多装置中,如个人数字助理(PersonalDigital Assistants,PDAs)或其它手持通讯装置(mobile handheld device)中。传统上,将字符(character)的字符码(character code)于不同的字符集(character code set)中进行转换,是利用建立1对1对映表(one-to-onemapping table)来完成。所建立的1对1对映表通常包括两个不同的字符集的字符码纪录,也就是包括来源字符集(source character code set)以及目的字符集(destination character code set)的字符码纪录。举例而言,当来源字符集为Arabic ISO(International Organizationfor Standardization)而目的字符集为Unicode-UCS(Universal CharacterSet)时,传统字符转换会建立如前所述的1对1对映表。在此例中,由于ArabicISO包括209个字符,而Arabic ISO/Unicode-UCS使用16位(bit)即2字节(byte)来进行编码,因此一个单向的对映表需要有(209)×(2+2)=836字节。一个单向的对映表只能完成单向的字符转换,如由Arabic ISO转换至Unicode-UCS或由Unicode-UCS转换至Arabic ISO。如欲完成双向的字符转换,即可由Arabic ISO转换至Unicode-UCS以及由Unicode-UCS转换至ArabicISO,则必须将对映表的大小加倍,因此双向1对1对映表的大小为836×2=1672字节。再者,字符转换的执行效率约可等同于在对映表中进行二元搜寻(binarysearch)的效率执行复杂度,就传统方法而言,其字符转换的执行复杂度(complexity)约为log2N,N=209。然而,不同的语文会利用不同的字符集进行字符编码,因此当某一装置支持多种语文的应用系统时,字符往往必须在各个不同的字符集中重复地进行转换,当转换频繁又欠缺有效率的转换方法时,字符转换问题便会形成。特别在如手持通讯装置等装置中,内存空间(memory size)及中央处理单元(central processing unit,CPU)的规格相当受限,因此传统字符转换方法无法满足现今及往后相关科技发展的需求。
技术实现思路
有鉴于此,本专利技术的目的就在于提供系统化的字符转换方法,其可将字符于不同的字符集间进行字符码的转换。为达成上述目的,本专利技术提供一种字符转换方法,用以将字符编码由来源字符集转换至目的字符集。首先必须提供对映表,对映表用以表示来源字符集及目的字符集之间的关系,对映表是分析来源字符集及目的字符集而建立,对映表所包括的纪录是以来源字符集中数个不连续的范围为主。对映表的每一纪录是对映至一范围,并包括该范围的启始值、结束值以及位移值,位移值用以作为启始值于目的字符集中的对应值。接着,接收来源字符码,来源字符码是将欲进行转换的目标字符以来源字符集进行编码所得。再根据来源字符码,以二元搜寻法等方式搜寻对映表以获得启始值以及位移值。位移值用以表示启始值于目的字符集的对应值。然后,根据启始值及来源字符码,计算差值。例如,将来源字符码减去启始值而得到差值。最后,将位移值与差值相加,以得到目的值。目的值是作为目标字符于目的字符集中的一指针(index),也就是其后可根据指针,得到目标字符以目的字符集进行编码的目的字符码。再者,本专利技术提出一种字符转换系统,用以将字符编码由来源字符集转换至目的字符集,包括对映表、接收模块、搜寻模块、计算模块以及相加模块,用以执行上述的字符转换方法。附图说明图1是显示本专利技术所揭示的方法的执行流程图。图2是显示本专利技术所揭示的系统的功能方块图。图3是显示本专利技术所揭示的方法的一实施例的执行流程图。符号说明900-对映表;902-接收模块;904-搜寻模块;906-计算模块;908-相加模块;910-获得模块。具体实施例方式请参照图1,图1是显示本专利技术所揭示的方法的执行流程图。首先,分析来源字符集及目的字符集,主要分析来源字符集及目的字符集中所包含的数个不连续的范围(步骤S700)。根据分析的结果,可建立一个对映表(步骤S702)。因此,对映表是依据分析所得到的信息,指出来源字符集与目的字符集之间的关系。当对映表建立完成后,对映表会包含用以表示来源字符集中不连续范围的多笔纪录(entry)。接着,接收来源字符码(步骤S704),来源字符码是将欲进行转换的目标字符以来源字符集进行编码所得。再根据来源字符码,以二元搜寻法等方式搜寻对映表以获得启始值以及位移值(步骤S706)。位移值可用以表示启始值于目的字符集中的对应值。然后,根据启始值及来源字符码计算差值(步骤S708)。例如,将来源字符码减去启始值而得到差值。最后,将位移值与差值相加,以得到目的值(步骤S710)。目的值为目标字符于目的字符集中的一指针,其后可根据此指针,得到目标字符以目的字符集进行编码的目的字符码。图2是显示本专利技术所揭示的系统的功能方块图。如图所示,本专利技术提出一种字符转换系统,用以将字符编码由来源字符集转换至目的字符集,包括对映表900、接收模块902、搜寻模块904、计算模块906以及相加模块908。对映表900用以表示来源字符集及目的字符集之间的关系,对映表是根据来源字符集和目的字符集中数个不相连续的范围所建立,而对映表包括多笔记录,用以表示来源字符集中的数个不连续范围。每一纪录是对映至一个范围,并包括该范围的启始值、结束值以及位移值,其中位移值用以作为启始值于目的字符集中的一对应值。对映表可借由分析来源字符集及目的字符集而建立。接收模块902用以接收来源字符码,来源字符码是将目标字符以来源字符集进行编码所得。搜寻模块904用以根据来源字符码,搜寻对映表900以获得启始值以及位移值,位移值用以表示启始值于目的字符集中的对应值。搜寻模块904可以二元搜寻法进行搜寻。计算模块906用以根据启始值及来源字符码,计算差值。计算模块906进行差值的计算时,是将来源字符码减去启始值而得到。相加模块908用以将位移值与差值相加,以得到目的值。目的值可作为目标字符于目的字符集中的一指针。转换系统还可包括获得模块910,获得模块910用以根据指针得到目标字符以目的字符集进行编码的目的字符码。请参照图3,图3是显示本专利技术所揭示的方法的一实施例的执行流程图。在此实施例中,来源字符集为UCS而目的字符集为Arabic ISO。欲进行字符转换的目标字符假设为 ,应用本专利技术所提出的方法可将其字符编码由UCS转换至Arabic ISO。目标字符 以来源字符集UCS进行编码的来源字符码为“Ox642”,以目的字符集Arabic ISO进行编码的目的字符码为“0xe2”。首先,主要依据字符集本文档来自技高网
...

【技术保护点】
一种字符转换方法,用以将字符编码由一来源字符集转换至一目的字符集,包括下列步骤:分析上述来源字符集及上述目的字符集;根据上述的分析结果,提供一对映表,其用以表示上述来源字符集及上述目的字符集之间的对应关系;接收来源字符码,上述来源字符码是将一目标字符以上述来源字符集进行编码所得;根据上述来源字符码,搜寻上述对映表,以获得一对应值;以及根据上述对应值计算出一目的值。

【技术特征摘要】
US 2005-1-24 60/646,407;US 2005-9-30 11/242,4211.一种字符转换方法,用以将字符编码由一来源字符集转换至一目的字符集,包括下列步骤分析上述来源字符集及上述目的字符集;根据上述的分析结果,提供一对映表,其用以表示上述来源字符集及上述目的字符集之间的对应关系;接收来源字符码,上述来源字符码是将一目标字符以上述来源字符集进行编码所得;根据上述来源字符码,搜寻上述对映表,以获得一对应值;以及根据上述对应值计算出一目的值。2.如权利要求1所述的字符转换方法,其中上述目的值为上述目标字符于上述目的字符集中的一指针,而上述方法是根据上述指针,得到上述目标字符以上述目的字符集进行编码的目的字符码。3.如权利要求1所述的字符转换方法,其中上述对映表是根据上述来源字符集及上述目的字符集中所包含的不相连续的字符码范围所建立。4.如权利要求3所述的字符转换方法,其中上述对应表包含多笔记录,每一笔记录对应于上述来源字符集中的一字符码范围,并且具有一启始值、一结束值,以及一位移值,其中上述启始值与结束值是用以表示所对应的字符码范围,而上述位移值是用以表示上述启始值于上述目的字符集中的对应值。5.如权利要求4所述的字符转换方法,其中在上述根据上述来源字符码搜寻上述对映表的步骤中,上述方法是以二元搜寻法对上述对映表进行搜寻,以获得一启始值及一位移值。6.如权利要求5所述的字符转换方法,其中在上述根据上述对应值计算出一目的值的步骤中,上述方法是根据上述启始值及上述来源字符码,计算一差值,以及将上述位移值与上述差值相加,以得到一目的值。7.如权利要求1所述的字符转换方法,其中上述差值的计算是将上述来源字符码减去上述启始值而得到。8.一种字符转换系统,用以将字符编码由一来源字符集转换至一目的字符集,包括一对映表,其用以表示上述来源字符集及上述目的字符集之间的关系,上述对映表是根据上述来源字符集及上述目的字符集中所包含的不相连续的字符码范围所建立;一接收模块,用以接收来源字符码,上述来源字符码是将一目标字符以上述来源字符集进行编码所得;一搜寻模块,其耦接于上述接收模块,用以根据上述来源字符码,搜寻上述对映表以获得一启始值以及一位移值,其中上述位移值用以表示上述启始值于上述目的字符集中的对应...

【专利技术属性】
技术研发人员:维克瑞莎弯亚伦古布达安古杰恩
申请(专利权)人:联发科技新加坡私人有限公司
类型:发明
国别省市:SG[新加坡]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1