CN101324880A - 一种文字编码的转换方法及转换系统 - Google Patents
一种文字编码的转换方法及转换系统 Download PDFInfo
- Publication number
- CN101324880A CN101324880A CNA2007100421975A CN200710042197A CN101324880A CN 101324880 A CN101324880 A CN 101324880A CN A2007100421975 A CNA2007100421975 A CN A2007100421975A CN 200710042197 A CN200710042197 A CN 200710042197A CN 101324880 A CN101324880 A CN 101324880A
- Authority
- CN
- China
- Prior art keywords
- code
- code value
- relocatable
- sign indicating
- indicating number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种文字编码的转换方法,包括:对相对码中的空白位进行补位;在相对码码值与存储标准码码值的地址之间建立对应关系;读取汉字字符的相对码码值,依据上述对应关系获得存储标准码码值的地址信息;将该汉字字符的相对码码值转换为上述地址处的标准码码值。同时本发明还公开一种文字编码的转换系统。本发明能够缩短文字编码的转换时间,提高用户的体验感。
Description
技术领域
本发明涉及文字编码领域,特别是涉及一种文字编码的转换方法及转换系统。
背景技术
电子设备通过内置电子词典提供文字查询服务,为节约存储空间,许多电子设备选用特定的编码方式对电子词典中的资料进行编码,再将编码数据压缩后存储。查询时,将编码数据解压后再转换为标准码(Unicode)进行显示。目前,常用的文字编码的转换方法是利用二分法在编码转换表中查找对应的标准码。
参阅图1,为现有的文字编码的转换方法流程图,具体步骤如下所述。
步骤S101、调取Big5码表示的文字内容。
如,在朗文电子词典中,输入单词go@1,该go@1在朗文词典中共有53条解释,26个词组,77个例句,将上述解释、词组和例句的Big5码码值经解压后调出。
步骤S102、判断上述Big5码表示的是否为汉字,如是,转到步骤S106;如否,转到步骤S103。
依据Big5码码值判断其表示的内容是否为汉字,如否,在Big5码码值的高位补零,转到步骤S105;如是,则转到步骤S103。
步骤S103、读取编码转换表。
读取编码转换表,在该编码转换表中,存储有全部的Big5码码值和标准码码值。
步骤S104、使用两分法在编码转换表中查找对应的标准码码值。
如,查询单词go@1,可查找到13k bytes的Big5码码值,转换成标准码码值约20k bytes,其中汉字字符约8k,这8k字符都要用二分法在编码转换表中寻找到对应的标准码码值再转换。编码转换表中标准码码值为13586个,平均查找次数为:
按平均查找次数来计算,对于8k的文本,文字转换速度按照每千字0.03s来计算,就是0.03ms/bytes,则转换时间为:
0.03ms×8k×6.86
=1.8s
因为辞典中的大部分生僻字和需要造字的特殊字符在造字区,而造字区的码值比较大,一般位于整个编码转换表的尾部,这样又增加了二分法对这些字符转码的查询时间,使实际转换略大于上述计算时间。
步骤S105、输出标准码。
由上述步骤可知,现有的编码转换方法对于汉字字符的转换,需要用二分法在编码转换表中查找对应的标准码码值。该算法对于容量较大的文字编码转化,因需要一一查找每个汉字字符对应的标准码码值,查找过程复杂,需处理的数据量较大,使整个编码转换过程过慢,影响用户的体验感。
发明内容
本发明所要解决的技术问题是提供一种文字编码的转换方法,该方法能够缩短文字编码的转换时间,提高用户的体验感。
本发明的另一个目的是提供一种文字编码的转换系统,该系统能够缩短文字编码的转换时间,提高用户的体验感。
本发明公开一种文字编码的转换方法,包括:对相对码中的空白位进行补位;在相对码码值与存储标准码码值的地址之间建立对应关系;读取汉字字符的相对码码值,依据上述对应关系获得存储标准码码值的地址信息;将该汉字字符的相对码码值转换为上述地址处的标准码码值。
优选的,在读取汉字字符的相对码码值之前,还包括:判断该字符为汉字字符。
优选的,还包括:如该字符为非汉字字符,则在该字符的相对码码值的高位补零,作为标准码码值。
优选的,还包括:在编码转换表中读取上述地址处的标准码码值,所述编码转换表只保存标准码码值。
优选的,所述对应关系为相对码的当前码值减去起始码值,其差值再乘以每个字符的字节数,获得的乘积等于存储标准码码值的地址。
优选的,所述相对码包括GB码和Big码。
优选的,使用符号0x002f对相对码中的空白位进行补位。
本发明还公开一种文字编码的转换系统,包括补位单元、对应关系建立单元、地址信息获取单元、及转换单元:
所述补位单元,用于对相对码中的空白位进行补位;
所述对应关系建立单元,用于在相对码码值与存储标准码的地址之间建立对应关系;
所述地址信息获取单元,用于读取汉字字符的相对码码值,依据上述对应关系获得存储标准码的地址信息;
转换单元,用于将该汉字字符的相对码码值转换为上述地址处的标准码码值。
优选的,还包括:编码转换表,所述地址信息获取单元在所述编码转换表中读取上述地址处的标准码码值,所述编码转换表只保存有标准码码值。
优选的,所述对应关系为相对码的当前码值减去起始码值,其差值再乘以每个字符的字节数,获得的乘积等于存储标准码码值的地址。
与现有技术相比,本发明具有以下优点:
本发明对相对码中的空白位进行补位,在相对码码值与存储标准码码值的地址之间建立一一对应关系;转换时,读取汉字字符的相对码码值,再依据上述对应关系获得存储标准码的地址信息,将该汉字字符的相对码码值转换为上述地址处的标准码码值。本发明通过在相对码码值与存储标准码码值的地址之间建立唯一的对应关系,根据汉字字符的相对码码值,就可直接查找到存储相应的标准码码值的地址,并转换为该地址处的标准码码值。相对于现有技术采用二分法在编码转换表中查找对应的标准码码值,本发明不需对编码转换表进行扫描查找,在转换中需处理的数据量相对较少,相应的转换时间就较少,提高用户使用时的体验感。
本发明编码转换表只存储标准码码值,相对于现有技术编码转换表同时存储相对码码值和标准码码值,减少编码转换表中存储的数据量,节约存储空间。
附图说明
图1为现有的文字编码的转换方法流程图;
图2为本发明第一实施例提供的文字编码的转换方法流程图;
图3为本发明第二实施例提供的文字编码的转换方法流程图;
图4为本发明第三实施例提供的文字编码的转换系统示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明对相对码中的空白位进行补位,在相对码码值与存储标准码码值的地址之间建立一一对应关系;转换时,读取汉字字符的相对码码值,再依据上述对应关系获得存储标准码的地址信息,将该汉字字符的相对码码值转换为上述地址处的标准码码值。
参阅图2,为本发明第一实施例提供的文字编码的转换方法流程图,具体步骤如下所述。
步骤S201、对相对码中的空白位进行补位。
相对码是除标准码以外的其它编码方式,包括简体字编码GB码和繁体字编码Big5码。GB码和Big5码的码值并不是按顺序依次排列的,存在较多的空白位,可采用某一特定的符号对空白位进行补位。
如Big5码某一段的码值0x2081、0x2082、0x2085、0x2087,其对应的标准码码值为0x4001、0x4002、0x4005、0x4007,存在空白位。使用符号0x002f对空白位进行补位,补位后,该段码值为0x4001、0x4002、0x002f、0x002f、0x4005、0x002f、0x4007。
步骤S202、在相对码码值与存储标准码码的地址之间建立对应关系。
对应关系可为相对码的当前码值减去起始码值,其差值再乘以每个字符的字节数,获得的乘积等于存储标准码码值的地址位。
如每个字符的字节数为2 bytes,相对码为Big5码。标准码的相对位置=(Code.Big5-STARTCODE)*2bytes,其中,Code.Big5为Big5的当前码值,STARTCODE为Big5的起始码值。
步骤S203、读取汉字字符的相对码码值。
需要进行编码转换时,读取汉字字符的相对码码值。汉字字符包含需要造字的汉字字符。如,某汉字的Big5码码值为0x2082。
步骤S204、依据上述对应关系获得存储标准码的地址信息。
如,依据上述对应关系,将某汉字的Big5码码值0x005,减去起始码值0x000,再乘以2bytes,等于10bytes。该汉字对应的标准码码值存储位置即为编码转换表的第10 bytes位。
步骤S205、将该汉字字符的相对码码值转换为上述地址处的标准码码值。
如,编码转换表的第10bytes字节处的标准码码值为0x4002,将该汉字的Big5码码值0x2082转换标准码码值0x4002。
本发明通过在相对码码值与存储标准码码值的地址之间建立唯一的对应关系,根据汉字字符的相对码码值,就可直接查找到存储相应的标准码码值的地址,并转换为该地址处的标准码码值。本发明不需对编码转换表进行扫描查找,在转换中需处理的数据量相对较少,相应的转换时间就较少,提高用户使用时的体验感。
下面以查找单词go@1为例,对本发明文字编码的转换方法进一步说明。
参阅图3,为本发明第二实施例提供的文字编码的转换方法流程图,具体步骤如下所述。
步骤S301、对Big5码中的空白位进行补位。
Big5码的码值并不是按顺序依次排列的,存在较多的空白位,可采用某一特定的符号对空白位进行补位。
步骤S302、在Big5码码值与存储标准码的地址之间建立对应关系。
对应关系可为Big5码的当前码值减去起始码值,其差值再乘以每个字符的字节数,获得的乘积等于存储标准码的地址。
步骤S303、调取用户输入的单词go@1对应的Big5码码值。
如,用户输入单词go@1,电子设备存储的朗文词典中关于go@1有53条解释、26个词组、77个例句。上述解释、词组、例句都以Big5码的形式调取出来。
步骤S304、判断调取的每一个Big5码码值表示的是否是汉字,如是转到步骤S305、如否,则在该Big5码码值的高位补零,作为标准码码值,转到步骤S307。
步骤305、依据上述对应关系在编码转换表中获得存储标准码的地址信息。
本发明编码转换表中只存储标准码码值。标准码码值按顺序依次存储在编码转换表中。根据汉字字符的Big5码码值和上述对应关系,计算获得每一个汉字字符对应的存储标准码的地址信息。
步骤S306、将汉字字符的Big5码码值转换为上述地址处的标准码码值。
如,编码转换表的第10bytes位置处的码值为0x4007,将该汉字的Big5码码值转换标准码码值0x4007。
查询单词go@1,可查找到13k bytes的Big5码码值,转换成标准码码值约20k bytes,其中汉字字符约8k,这8k字符都采用上述步骤S305、步骤S306中计算存储地址后,直接读取的方法所需的时间约为0.2S,远远少于现有技术中的1.8S。
步骤S307、直接输入标准码码值。
输出的标准码码值经电子设备相应的处理后,显示给用户。
现有技术中,如果电子设备需同时应用到简体字和繁体字,编码转换表需同时存储BG码码值、Big5码码值和标准码码值,每种编码14394个码值,每个码值占2bytes,编码转换表的存储空间为:
2bytes×3×14394=86k bytes
本发明在编码转换表只存储标准码码值,经补位后标准码码值为202012个,每个码值占2bytes,编码转换表的存储空间为:
2bytes×202012=40.4024k bytes
编码转换表的存储空间可以节约:
86k bytes-40.4024k bytes=45.5976k bytes
本发明编码转换表只存储标准码码值,减少编码转换表中存储的数据量,节约存储空间。
基于上述文字编码的转换方法,本发明还提供一种文字编码的转换系统,该系统能够缩短文字编码的转换时间,提高用户的体验感。
参阅图4,为本发明第三实施例提供的文字编码的转换系统示意图,包括补位单元41、对应关系建立单元42、地址信息获取单元43、及转换单元44。
补位单元4 1对相对码中的空白位进行补位。相对码是除标准码以外的其它编码方式,包括简体字编码GB码和繁体字编码Big5码。GB码和Big5码的码值并不是按顺序依次排列的,存在较多的空白位,补位单元41采用某一特定的符号对空白位进行补位。特定的符号可为0x002f。
对应关系建立单元42在相对码码值与存储标准码的地址之间建立对应关系。对应关系可为相对码的当前码值减去起始码值,其差值再乘以每个字符的字节数,获得的乘积等于存储标准码码值的地址位。
地址信息获取单元4 3读取汉字字符的相对码码值,依据上述对应关系获得存储标准码的地址信息。需要进行编码转换时,地址信息获取单元4 3读取汉字字符的相对码码值。汉字字符包含需要造字的汉字字符。地址信息获取单元43在编码转换表中读取上述地址处的标准码码值,编码转换表只保存有标准码码值。
转换单元44将该汉字字符的相对码码值转换为上述地址处的标准码码值。
以上对本发明所提供的一种文字编码的转换方法及转化系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1、一种文字编码的转换方法,其特征在于,包括:
对相对码中的空白位进行补位;
在相对码码值与存储标准码码值的地址之间建立对应关系;
读取汉字字符的相对码码值,依据上述对应关系获得存储标准码码值的地址信息;
将该汉字字符的相对码码值转换为上述地址处的标准码码值。
2、如权利要求1所述的方法,其特征在于,在读取汉字字符的相对码码值之前,还包括:
判断该字符为汉字字符。
3、如权利要求2所述的方法,其特征在于,还包括:
如该字符为非汉字字符,则在该字符的相对码码值的高位补零,作为标准码码值。
4、如权利要求1所述的方法,其特征在于,还包括:
在编码转换表中读取上述地址处的标准码码值,所述编码转换表只保存标准码码值。
5、如权利要求1至4任一项所述的方法,其特征在于,所述对应关系为相对码的当前码值减去起始码值,其差值再乘以每个字符的字节数,获得的乘积等于存储标准码码值的地址。
6、如权利要求1所述的方法,其特征在于,所述相对码包括GB码和Big码。
7、如权利要求1所述的方法,其特征在于,使用符号0x002f对相对码中的空白位进行补位。
8、一种文字编码的转换系统,其特征在于,包括补位单元、对应关系建立单元、地址信息获取单元、及转换单元:
所述补位单元,用于对相对码中的空白位进行补位;
所述对应关系建立单元,用于在相对码码值与存储标准码的地址之间建立对应关系;
所述地址信息获取单元,用于读取汉字字符的相对码码值,依据上述对应关系获得存储标准码的地址信息;
转换单元,用于将该汉字字符的相对码码值转换为上述地址处的标准码码值。
9、如权利要求8所述的系统,其特征在于,还包括:
编码转换表,所述地址信息获取单元在所述编码转换表中读取上述地址处的标准码码值,所述编码转换表只保存标准码码值。
10、如权利要求9或10所述的系统,其特征在于,所述对应关系为相对码的当前码值减去起始码值,其差值再乘以每个字符的字节数,获得的乘积等于存储标准码码值的地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100421975A CN101324880A (zh) | 2007-06-13 | 2007-06-13 | 一种文字编码的转换方法及转换系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100421975A CN101324880A (zh) | 2007-06-13 | 2007-06-13 | 一种文字编码的转换方法及转换系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101324880A true CN101324880A (zh) | 2008-12-17 |
Family
ID=40188423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100421975A Pending CN101324880A (zh) | 2007-06-13 | 2007-06-13 | 一种文字编码的转换方法及转换系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101324880A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750695A (zh) * | 2013-12-26 | 2015-07-01 | 深圳富泰宏精密工业有限公司 | 智能字库文件转码系统及方法 |
CN105243168A (zh) * | 2015-11-11 | 2016-01-13 | 中国建设银行股份有限公司 | 一种数据迁移方法及系统 |
CN111428441A (zh) * | 2020-03-18 | 2020-07-17 | 中国电子科技集团公司第二十八研究所 | 面向信息系统跨平台应用的汉字编码转换方法及设备 |
-
2007
- 2007-06-13 CN CNA2007100421975A patent/CN101324880A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750695A (zh) * | 2013-12-26 | 2015-07-01 | 深圳富泰宏精密工业有限公司 | 智能字库文件转码系统及方法 |
CN105243168A (zh) * | 2015-11-11 | 2016-01-13 | 中国建设银行股份有限公司 | 一种数据迁移方法及系统 |
CN105243168B (zh) * | 2015-11-11 | 2019-08-30 | 中国建设银行股份有限公司 | 一种数据迁移方法及系统 |
CN111428441A (zh) * | 2020-03-18 | 2020-07-17 | 中国电子科技集团公司第二十八研究所 | 面向信息系统跨平台应用的汉字编码转换方法及设备 |
CN111428441B (zh) * | 2020-03-18 | 2024-01-19 | 中国电子科技集团公司第二十八研究所 | 面向信息系统跨平台应用的汉字编码转换方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7031910B2 (en) | Method and system for encoding and accessing linguistic frequency data | |
CN101800556B (zh) | 数据传输及编码数据字符串的方法 | |
CN100375006C (zh) | 车辆导航装置语音控制系统 | |
US8670976B2 (en) | System and methods for encoding and decoding multi-lingual text in a matrix code symbol | |
CN101346689A (zh) | 压缩模式表示对象和用于元数据处理的方法 | |
CN101315639A (zh) | 搜索方法及系统 | |
CN101692254B (zh) | 一种多Unicode语言字码显示方法和装置 | |
CN101345952B (zh) | 客户身份识别卡的数据存储、读取方法、装置及系统 | |
US20020120654A1 (en) | Large character set browser | |
CN101324880A (zh) | 一种文字编码的转换方法及转换系统 | |
US20200110767A1 (en) | Context-dependent shared dictionaries | |
CN101118542A (zh) | 一种中文字符的转换方法及其系统 | |
CN100498794C (zh) | 索引压缩的方法和装置 | |
EP2442256A1 (en) | Method of encoding and decoding text on a matrix code symbol | |
CN100511236C (zh) | 用于嵌入式浏览器的网页编码语言自动识别方法及装置 | |
CN104331400A (zh) | 一种蒙古文编码转换方法和装置 | |
CN100495297C (zh) | 手持式电子终端上实现藏文输入、显示和短信收发的方法 | |
CN101359257B (zh) | 一种利用数字键盘进行字词输入的方法和装置 | |
CN101465902B (zh) | 一种手机短信压缩通讯方法 | |
CN102262520A (zh) | 基于内置式平台手机的文本显示方法及其应用的装置 | |
CN102131161B (zh) | 一种短消息的编码方法、装置及系统 | |
CN102063416A (zh) | 向pdf文件内嵌双字节字体的方法及其系统 | |
CN116894016A (zh) | 轨道交通信号的日志压缩方法及装置 | |
CN101963957B (zh) | 一种智能卡上实现电子词典的方法及智能卡 | |
CN109361399A (zh) | 一种获取字节序列的方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20081217 |