文字编码转换的方法

文档序号:6561144阅读:639来源:国知局
专利名称:文字编码转换的方法
技术领域
本发明是关于一种文字译码编码的方法,尤其是一种利用函数译码编 码文字使输出装置不会打印或显示出乱码的方法。
背景技术
由于历史、地区原因,时常在同一种文字中会出现多种编码方案。而 在计算机系统中,如果文字编码与系统预设编码不同,将使得文字不能正 确地打印及显示,必须将文字进行编码转换才能变成可以辨识的字符。早期的计算机系统发源于美国,因此最早的编码系统也是发源于此。由于他们的数据只需数字、26个英文字母(包括大小写)、标点及其它特 殊符号、外加一些计算机系统的句柄即可,因此当时一个字节的大小只需 7个位即可包含所有所需的信息,总共可容纳128个符号,这也就是大家 所熟知的ASCII编码。然而对于欧洲语系而言,7个位的编码空间不符合所需,因为除了26 个英文字母外,欧洲许多国家还需要拉丁字母、特殊字母的上下标及其它 符号等,才能完整表示他们的语言。因此原来的编码系统必须再扩充,由 7个位变为8个位,以容纳那些多出的符号,这就是IS08859的编码标准。然而到了亚洲地区,上述的8位编码又不够用了。因为亚洲地区不再 是拼音文字,因此多出了成千上万个符号,我们己无法仿照当初IS08859 的做法,设计出属于中文的部分。唯一的作法只有合并几个位来共同表示 一个符号,如此才有足够的空间来容纳一个地区所有的文字。例如我们繁 体中文最常见的BIG5编码,就是将两个字节合起来看成一个字。但当一 份文件中同时要有中英文时,意味着我们要有一个规则可以区分这个字节 应该视为ASCII码,或者它与它的下一个字节应合起来视为一个BIG5码。然而在某些场合下,我们仍需要在同一份文件中记录多国文字。以 BIG5编码为例,它可以确保中文字与ASCII码可以同时存在,不至于混 肴。但如果我们要同时表示中文、日文、韩文到多国语文,则因每种文字
的编码方式不同,将会变为乱码显示。例如,当我们欲使用打印机打印出 一份韩文文件时,会因一般计算机中所使用的是微软繁体中文操作系统(Windows OS),以及数据库中的内码不同于韩文内码,而导致在繁体环 境下内码错乱。又,部分使用者所使用的软件,会自动将多国语文转成其 它编码方式,也会导致打印机无法正确辨识多国语文的编码,导致只能打 印出乱码。因此,本发明将公开一种文字编码转换的方法,使输出装置(例如 打印机)能将各国文字顺利打印或显示的方法,避免因编码方式的不同而 无法正常打印或显示各国文字。发明内容本发明的目的在于利用所编写的程序,使计算机在其任何一操作系统 环境下,都可以顺利、正确地打印或显示出各国文字。本发明的另一目的在于有效解决其文字编码不兼容的问题。基于上述目的,本发明公开一种文字编码转换的方法,应用于一计算 机中的一操作系统,利用操作系统中一数据转换服务(Data Transformation Services)及一数据库中的转码表,用以将所欲显示或打印的文字,做一 转码的处理,使其顺利显示或打印,文字编码转换的方法包含下列步骤 输出一第一文件;利用数据转换服务将第一文件中的文字内容导入一临时 文件文字文件;将临时文件文字文件的每一文字拆解成十六字节编码内 容;将拆解成十六字节的文字内容对照其所能显示或打印的一转码表重新 编码;以及输出至一动态连接数据库中,以达成显示或打印该文字内容。根据本发明的文字编码转换的方法,相较于现有技术,其可避免先前 技术因编码方式的不同而无法正常打印或显示各国文字,而使输出装置 (例如打印机)能正确地将各国文字顺利打印或显示。


图1为本发明一实施例转换文字编码的流程图;以及图2为本发明一实施例转换文字编码的示意图。图3为一在中文操作系统中欲打印韩文文件所作的一转码示意图。
附图标记说明 10计算机 12输出装置 100中央处理器 102操作系统1020数据库1022数据转换服务1024动态连接数据库10200内码10202转码表S20 S28步骤具体实施方式
本发明提供一种文字编码转换的方法(文字编码转换的程序),利用 计算机中现有系统及所在文字内码架构,将所欲打印的他国文字转换编 码,再配合输出装置能接收的编码方式重新编码,使输出装置能将各国文 字顺利打印或显示的方法r请参阅图1,其为本发明一实施例计算机系统示意图。计算机系统中 至少包含一计算机(计算机)10及一输出装置12。其中,计算机10包含 一中央处理器100及一操作系统102;而操作系统102包含一共享数据数 据库1020 (以下简称数据库)、 一数据转换服务系统(Data Transformation Services, DTS) 1022及一动态连接数据库(Dynamic Link Library, DLL)。 数据库1020中储存操作系统102所预存的内码10200及转码表10202,可 应用在操作系统所使用的编码系统;动态连接数据库1024可用以暂时储 存所欲输出的数据。下面将通过图2对本发明文字编码转换的方法做详细 的叙述。请参阅图2,其为本发明一实施例转换文字编码的流程图。当计算机 在做数据输出入时可能因操作系统的位序与各硬件装置系统的限制不同 而出错,因此,当要做数据交换时,需配合各个输出/输入装置其对于文字 的编码要求,做一适当的转换。以下将举一打印机做一输出装置,作为说
明之用。
本发明通过操作系统中编码系统与输出装置的编码系统内含相同的 (子)字集,利用数据转换服务及数据库中所储存的内码,则运用所设计
的程序做转换。其中,数据库中的内码是以Unicode编码为主,又作为本 发明程序中的基底字集。当然我们不限定于此一编码方式作基底字集,也 可使用UCS4编码方式来做基底字集。基底字集指各地区的语文符号在编 码系统内部的表示方式,而且它还是各地区所有语文符号的集合。根据此 定义,表示我们可以将世界各地所有的编码方式转换成基底字集来统一处 理。
步骤S20,当计算机欲将一第一文件输出至打印机打印时,由于输出 的第一文件文字编码格式并不符合打印机对于文字的编码要求。步骤S22, 所设计的程序会将第一文件中的文字内容,利用DTS将文字内容导入并制 作成一临时文字文件(TXT),其中利用DTS将文字导出时不会使文字变 成乱码。步骤S24,程序中函数将设定使原先以操作系统的编码系统所编 码的文字内容转成符合基底字集的编码方式,即将每一文字拆解成16字 节的Unicode系统。步骤S26,再将所有拆解成16字节的文字编码,配合 打印机的编码系统重新编码,其中,打印机的编码系统与Unicode编码方 式之间具有一个适当的转码表,利用此一转码表就可以很容易地将 Unicode编码转换为打印机的编码系统。
最后,步骤S28,将转码(重新编码)后的文字内容发送至动态连接 数据库中,并选择以打印机编码系统的打印控制代码,以达成打印该文字 内容。
在本发明中,数据库内码主要的任务在让同一份程序代码可以处理各 地区的语言,因而可以适用于各地区,而不需要额外修改程序本身。因此, 这个转码接口 (程序)只负责操作系统所采用的编码,与系统基底字集所 采用的编码系统互转而己。此转码接口最大的用途在于方便程序做文字处 理,可以做到任意编码系统间的互转。因此,这样写出来的程序就是一个 支持操作系统的程序,可以在不需要修改操作系统程序代码本身的情况下 适用于各语系及编码系统。
请参阅图3所示,其为一在中文操作系统中欲打印例如韩文文件所做
一转码示意图。因为繁体中文操作系统的编码方式不同于韩文的编码方 式,导致在打印文件时会打印出乱码。因此,利用本发明转换接口将韩文 文字转成定长编码方式时,由于每个字都是故定的长度(即字节数),称
之为宽字符(wide character),这使得系统可以很方便做字符串处理。
当我们将文字内容拆解成16字节的Unicode系统(如图3中左边所 示),所对应的文字,如 一个双字节韩国文字(如图3中右边所示第一 文字)将拆解成—CO—C7形式,而单字节的英文、符号、或数字拆解后 将在高位处自动补上OO,成为—00—75形式,在发送至DLL中。最终打 印机所接收到的字节为C0C7B7E10075C0C80033B7E700570045,则打印 机能顺利打印出如图3中右边所示的文字内容,即在韩文环境下可以看到 的韩文及ASCII字符符号,,
在本发明中,通过数据转换服务(DTS)将文件内容导入临时文件文 字文件后,利用程序进行转码工作时,它实际上是先将该文字编码转成基 底字集编码方式,然后再利用一转码表转成目的编码方式,如此便可确保 只要编码中有共同的(子)字集时,转换可以顺利进行。
以上所述是利用较佳实施例详细说明本发明,而非限制本发明的范 围,且所属技术领域中具有通常知识者,适当作些改变及调整,仍将不失 本发明的要义所在,也不脱离本发明的权利要求书的保护范围。
权利要求
1.一种文字编码转换的方法,用于一计算机中的一操作系统,以显示或打印文字,该方法包含下列步骤利用一数据转换服务将一第一文件中的文字内容导入一临时文件文字文件;将所述临时文件文字文件的每一文字拆解成十六字节编码内容;将所述十六字节编码内容对照其所能显示或打印的一转码表重新编码;以及输出至一动态连接数据库中,以显示或打印所述文字内容。
2. 如权利要求1所述的方法,其特征在于,所述文字内容编码拆解 成十六字节编码内容可利用Unicode内码对照来完成。
3. 如权利要求1所述的方法,其特征在于,所述转码表为配合所使 用的一打印机的打印字体,以顺利打印出所述第一文件的正确内容。
4. 如权利要求1所述的方法,其特征在于,所述第一文件中的内容 用多国文字撰写。
5. 如权利要求1所述的方法,其特征在于,所述拆解成十六字节的 每一文字在所述转码表中都有一对应转码文字。
6. 如权利要求1所述的方法,其特征在于,所述文字内容编码拆解 成十六字节编码内容是利用UCS4编码方式对照来完成。
7. 如权利要求1所述的方法,其特征在于,所述转码表储存于所述 计算机中的一数据库。
全文摘要
本发明公开一种文字编码转换的方法,利用计算机中现有系统及所在文字内码架构,将所欲打印的他国文字转换编码;再配合打印机能接收的编码方式重新编码,使打印机能将各国文字列顺利印出的方法。
文档编号G06F3/12GK101149669SQ20061011646
公开日2008年3月26日 申请日期2006年9月22日 优先权日2006年9月22日
发明者姚春光 申请人:英华达(上海)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1