具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种编码方法和终端,以下分别进行详细说明。
为了描述方便,以下均采用7Bit编码表的中文名称进行描述,这些7Bit编码表的中英文对照如下:
标准7Bit主表:GSM 7bit Default Alphabet;
土耳其语的7Bit主表:Turkish National Language Locking Shift Table;
葡萄牙语的7Bit主表:Turkish National Language Locking Shift Table;
标准7Bit扩展表:GSM 7bit default alphabet extension table;
土耳其语的7Bit扩展表:Turkish National Language Single Shift Table;
葡萄牙语的7Bit扩展表:Portuguese National Language Locking ShiftTable;
西班牙语的7Bit扩展表:Spanish National Language Single Shift Table;
标准7Bit迷你表:GSM 7bit Default Mini Alphabet;
土耳其语的7Bit迷你表:Turkish National Language Locking Shift MiniTable;
葡萄牙语的7Bit迷你表:Portuguese National Language Locking Shift MiniTable;
标准7Bit迷你扩展表:GSM 7bit alphabet mini alphabet extension table;
土耳其语的7Bit迷你扩展表:Turkish National Language Single Shift MiniTable;
葡萄牙语的7Bit迷你扩展表:Portuguese National Language Single ShiftMini Table;
葡萄牙语的7Bit迷你扩展表:Spanish National Language Single Shift MiniTable。
需要说明的是,本发明实施例涉及的终端可以为任何需要使用NationalLanguage 7Bit编码的设备,包括但不限于手机、便携计算机、个人数字助理PDA、智能手机、移动终端设备、短消息中心中的编码解析设备或服务器中的解析设备等。
实施例一、
一种编码方法,如图1所示,具体流程可以如下:
101、终端确定需要编码的字符是否都属于7Bit主编码交集表,若是,则可以执行步骤102,若否,则执行步骤103;
其中,7Bit主编码交集表由所有7Bit主表之间的相同字符组成,其中,相同字符指的是统一码(Unicode)值和7Bit值均相同的字符;例如,如果网络支持标准7Bit主表、土耳其语的7Bit主表和葡萄牙语的7Bit主表,则7Bit主编码交集表由标准7Bit主表中的字符集合、土耳其语的7Bit主表中的字符集合和葡萄牙语的7Bit主表中的字符集合的交集组成,即7Bit主编码交集表由标准7Bit主表、土耳其语的7Bit主表和葡萄牙语的7Bit主表这三个编码表之间的相同字符组成。
这些需要编码的字符可以是土耳其语或葡萄牙语或西班牙语,等等。
102、终端选择标准7Bit主表或这些需要编码的字符的相应语种的7Bit主表对这些需要编码的字符进行编码;该步骤为可选步骤。
例如,如果这些需要编码的字符为土耳其语,则可以选择标准7Bit主表或土耳其语的7Bit主表对这些需要编码的字符,如果这些需要编码的字符为葡萄牙语,则可以选择标准7Bit主表或葡萄牙语的7Bit主表对这些需要编码的字符,等等。
103、如果需要编码的字符不全都属于7Bit主编码交集表,则可以分为以下几种情况进行处理:
(1)在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于标准7Bit迷你表的字符时,终端选择标准7Bit主表对这些需要编码的字符进行编码;
(2)在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于相应语种的7Bit迷你表的字符时,终端选择该需要编码的字符的相应语种的7Bit主表对这些需要编码的字符进行编码;
例如,在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于土耳其语的7Bit迷你表的字符时,选择土耳其语的7Bit主表对这些需要编码的字符进行编码。
又例如,在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于葡萄牙语的7Bit迷你表的字符时,选择葡萄牙的7Bit主表对这些需要编码的字符进行编码,等等。
(3)在确定这些需要编码的字符中即存在属于标准7Bit迷你表的字符,又存在属于相应语种的7Bit迷你表的字符时,终端选择标准7Bit主表和该需要编码的字符的相应语种的7Bit扩展表对这些需要编码的字符进行编码,或者,选择标准7Bit扩展表和这些需要编码的字符的相应语种的7Bit主表对这些需要编码的字符进行编码;
例如,在确定需要编码的字符中即存在属于标准7Bit迷你表的字符,又存在属于土耳其语/葡萄牙语的7Bit迷你表的字符时,确定属于标准7Bit迷你表的字符数量是否大于属于土耳其语/葡萄牙语的7Bit迷你表的字符数量,若是,选择标准7Bit主表和土耳其语/葡萄牙语的7Bit扩展表对这些需要编码的字符进行编码,若否,选择标准7Bit扩展表和土耳其语/葡萄牙语的7Bit主表对这些需要编码的字符进行编码。
又例如,在确定需要编码的字符中即存在属于标准7Bit迷你表的字符,又存在属于西班牙语的7Bit迷你表的字符时,选择标准7Bit主表和西班牙语的扩展表对该需要编码的字符进行编码。
其中,标准7Bit迷你表由标准7Bit主表和7Bit主编码交集表之间不同的字符组成;而相应语种的7Bit迷你表由相应语种的7Bit主表和7Bit主编码交集表之间不同的字符组成,比如,土耳其语的7Bit迷你表由土耳其语的7Bit主表和7Bit主编码交集表之间不同的字符组成,葡萄牙语的7Bit迷你表由葡萄牙语的7Bit主表和7Bit主编码交集表之间不同的字符组成,等等。
需说明的是,由于终端在发送编码后的信息时,会在编码后的信息中指示编码时采用了哪些编码表,所以,在解码时,只要根据指示的编码表进行解码即可,在此不再赘述。
由上可知,本实施例的终端利用7Bit主编码交集表以及各个7Bit迷你表对需要进行编码的字符进行查询,然后根据查询结果来自动匹配最适合的7Bit编码表,由于7Bit迷你表的规格较小,所以查询时间(即需要进行编码的字符查询7Bit主编码交集表、7Bit迷你表和/或7Bit编码表的时间)主要花费在对7Bit主编码交集表的查询上,因此,相对于现有的方案需要查询两张大表而言,查询速度可以提升近一倍,而且由于可以自动匹配最适合的7Bit编码表,因此可以使得编码得出的字符串占用的空间最小,从而使得在有限的空间内可以容纳更多的字符。
实施例二、
进一步的,该编码方法还可以在一定程度上支持多种语种的混编,以下将举例进行说明。
例如,当需要编码的字符为土耳其语和葡萄牙语,或者土耳其语和西班牙语,或者葡萄牙语和西班牙语,则在确定需要编码的字符不全都属于7Bit主编码交集表时,该编码方法还可以包括:
(1)土耳其语和葡萄牙语
终端在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于土耳其语和葡萄牙语的7Bit迷你表的字符时,确定属于土耳其语的7Bit迷你表的字符数量是否大于属于葡萄牙语字符的7Bit迷你表的字符数量,若是,则选择葡萄牙语的7Bit主表和土耳其语的7Bit扩展表对这些需要编码的字符进行编码;若否,则选择土耳其语的7Bit主表和葡萄牙语的7Bit扩展表对所这些需要编码的字符进行编码。
(2)土耳其语和西班牙语
终端在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于土耳其语和西班牙语的7Bit迷你表的字符时,选择土耳其语的7Bit主表和西班牙语的7Bit扩展表对这些需要编码的字符进行编码。
(3)葡萄牙语和西班牙语
终端确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于葡萄牙语和西班牙语的7Bit迷你表的字符时,选择葡萄牙语的7Bit主表和西班牙语的7Bit扩展表对这些需要编码的字符进行编码。
需要说明的是,本发明实施例涉及的终端可以为任何需要使用NationalLanguage 7Bit编码的设备,包括但不限于手机、便携计算机、个人数字助理PDA、智能手机、移动终端设备、短消息中心中的编码解析设备或服务器中的解析设备等。
由上可知,本实施例的终端利用7Bit主编码交集表以及各个7Bit迷你表对需要进行编码的字符进行查询,在确定需要编码的字符不全都属于7Bit主编码交集表时,对除属于7Bit主编码交集表之外的其他字符作进一步的判断和比较,从而可以选择出最适合的7Bit编码表,除了可以使得编码得出的字符串占用的空间最小,以及提升编码相互转换速度之外,还可以在一定程度上支持多种语种的混编,比如土耳其语和葡萄牙语、土耳其语和西班牙语、或者葡萄牙语和西班牙语的混编,一定程度上解决了现有技术在两种语种混编时无法使用7Bit编码的问题。
实施例三、
根据实施例一所描述的方法,以下将举例作详细说明。
首先,需要根据由所有7Bit主表的交集,建立一张7Bit主编码交集表,该7Bit主编码交集表包含了所有7Bit主表之间的相同字符,其中,相同字符指的是Unicode值和7Bit值均相同的字符。其次,再根据所有7Bit主表与该7Bit主编码交集表之间的不同字符,建立各自的7Bit迷你表。
例如,若所有的7Bit主表包括:标准7Bit主表、土耳其语的7Bit主表和葡萄牙语的7Bit主表,则根据该方法可以生成以下7Bit编码表:
7Bit主编码交集表、标准7Bit迷你表、土耳其语的7Bit迷你表和葡萄牙语的7Bit迷你表。
这些生成的表与原来的7Bit编码表的关系如下:
标准7Bit主表=7Bit主编码交集表+标准7Bit迷你表;
土耳其语的7Bit主表=7Bit主编码交集表+土耳其语的7Bit迷你表;
葡萄牙语的7Bit主表=7Bit主编码交集表+葡萄牙语的7Bit迷你表。
当然,使用相同的方法也可以构造7Bit扩展编码交集表,即该7Bit扩展编码交集表包含了所有7Bit扩展表之间的相同字符,其中,相同字符指的是Unicode值和7Bit值均相同。其次,再根据所有7Bit扩展表与该7Bit扩展编码交集表之间的不同字符,建立各自的7Bit迷你扩展表。
例如,若所有的7Bit扩展表包括:标准7Bit扩展表、土耳其语的7Bit扩展表、葡萄牙语的7Bit扩展表和西班牙语的7Bit扩展表,则根据该方法可以生成以下7Bit编码表:
7Bit扩展编码交集表、标准7Bit迷你扩展表、土耳其语的7Bit迷你扩展表、葡萄牙语的7Bit迷你扩展表和西班牙语的7Bit迷你扩展表。
这些生成的表与原来的7Bit编码表的关系如下:
标准7Bit扩展表=7Bit扩展编码交集表+标准7Bit迷你扩展表;
土耳其语的7Bit扩展表=7Bit扩展编码交集表+土耳其语的7Bit迷你扩展表
西班牙语的7Bit扩展表=7Bit扩展编码交集表+西班牙语的7Bit迷你扩展表;
葡萄牙语的7Bit扩展表=7Bit扩展编码交集表+葡萄牙语的7Bit迷你扩展表。
需说明的是,本发明实施例将均以根据7Bit主表生成7Bit主编码交集表和各种7Bit迷你表为例进行说明,扩展表的实现方式类似,在此不再赘述。
以下将以需要编码的字符为土耳其语为例进行说明。
参见图2a、图2b和图2c,其中,图2a为7Bit主编码交集表的示意图,图2b为标准7Bit迷你表的示意图,图2c为土耳其语的7Bit迷你表的示意图。如图3所示,具体的查询流程可以如下:
301、终端确定需要编码的土耳其语字符是否都属于7Bit主编码交集表,若是,则执行步骤302,若否,则执行步骤303。例如:
如果需要编码的土耳其语字符为“A、B、C”,则由图2a可知,这些字符全都属于7Bit主编码交集表,因此,直接执行步骤302。否则,如果需要编码的土耳其语字符中包含了不属于该7Bit主编码交集表的字符时,比如该需要编码的土耳其语字符为“A、B、
”、或“A、B、
”、或“A、B、
”时,由于
和
不属于该7Bit主编码交集表,因此,执行步骤303。
302、终端选择标准7Bit主表或土耳其语的7Bit主表对这些需要编码的土耳其语字符进行编码。
303、如果需要编码的土耳其语字符不全都属于7Bit主编码交集表,则终端根据标准7Bit迷你表和土耳其语的7Bit迷你表对除属于7Bit主编码交集表之外的其他土耳其语字符作进一步的判断并处理,具体可以分为以下几种情况进行处理:
(1)终端在确定这些需要编码的土耳其语字符中,除属于7Bit主编码交集表之外的其他土耳其语字符都属于标准7Bit迷你表的字符时,选择标准7Bit主表对这些需要编码的土耳其语字符进行编码。
比如,如果需要编码的土耳其语字符为“A、B、
”,则由图2a和图2b可知,字符“A、B”属于7Bit主编码交集表,而字符
则属于标准7Bit迷你表,因此,选择标准7Bit主表对这些需要编码的土耳其语字符进行编码。
(2)终端在确定这些需要编码的土耳其语字符中,除属于7Bit主编码交集表之外的其他土耳其语字符都属于土耳其语的7Bit迷你表的字符时,选择土耳其语的7Bit主表对这些需要编码的土耳其语字符进行编码。
比如,如果需要编码的土耳其语字符为“A、B、
”,则由图2a和图2c可知,字符“A、B”属于7Bit主编码交集表,而字符
则属于土耳其语的7Bit迷你表,因此,选择土耳其语的7Bit主表对这些需要编码的土耳其语字符进行编码。
(3)终端在确定这些需要编码的土耳其语字符中即存在属于标准7Bit迷你表的土耳其语字符,又存在属于土耳其语的7Bit迷你表的土耳其语字符时,选择标准7Bit主表和土耳其语的7Bit扩展表对这些需要编码的字符进行编码,或者,选择标准7Bit扩展表和土耳其语的7Bit主表对这些需要编码的土耳其语字符进行编码;
比如,如果需要编码的土耳其语字符为“A、B、
”,则由图2a、图2b和图2c可知,字符“A、B”属于7Bit主编码交集表,而字符
属于土耳其语的7Bit迷你表,字符
属于土耳其语的7Bit迷你表,因此,选择标准7Bit主表和土耳其语的7Bit扩展表对这些需要编码的字符进行编码,或者,选择标准7Bit扩展表和土耳其语的7Bit主表对这些需要编码的土耳其语字符进行编码。
需说明的是,此时选择标准7Bit扩展表和土耳其语的7Bit主表进行编码,相对于选择标准7Bit扩展表和土耳其语的7Bit主表进行编码所得到的字符串所占用的空间会更少些,即此时选择标准7Bit扩展表和土耳其语的7Bit主表进行编码可以在有限的空间内容纳更多的字符。
由图2a、图2b和图2c可知,这三张表均比原有的7Bit编码表小,特别是标准7Bit迷你表和土耳其语的7Bit迷你表,因此,大部分的查询时间只花费在对7Bit主编码交集表这一张表的查询上,这相对于现有技术中需要查询两张大表(即土耳其语的7Bit扩展表和标准7Bit主表)而言,查询速度可以提升将近一倍,如果是多种语种,相对现有技术而言,该查询速度还可以提升得更多。
本发明实施例所提供的编码方法可以在采用National Language 7Bit编码的任意场景下使用,比如,可以用于任意移动终端设备的7Bit字符编码;或者,也可以用于短消息中心中,基于National Language 7Bit编码的解析;或者,还可以用于服务器的客户短信管理中的短信解析,以及短信保存,等等。
由上可知,本实施例的终端利用7Bit主编码交集表以及各个7Bit迷你表对需要进行编码的字符进行查询,在确定需要编码的字符不全都属于7Bit主编码交集表时,对除属于7Bit主编码交集表之外的其他字符作进一步的判断和比较,从而可以选择出最适合的7Bit编码表,不仅可以使得编码得出的字符串占用的空间最小,而且还可以提升编码相互转换速度之外。
实施例四、
根据实施例一和二所描述的方法,本实施例将对多种语种混编的情况作进一步详细说明。
参见图4,具体流程可以如下:
401、终端确定需要编码的字符是否都属于7Bit主编码交集表,若是,则执行步骤402,若否,则执行步骤403;参见前面实施例,在此不再赘述。
402、终端选择标准7Bit主表或这些需要编码的字符的任一相应语种的7Bit主表对这些需要编码的字符进行编码;
例如,如果这些需要编码的字符为土耳其语和葡萄牙语的混编,则可以选择标准7Bit主表、或土耳其语的7Bit主表、或葡萄牙语的7Bit主表对这些需要编码的字符,等等。
403、如果需要编码的字符不全都属于7Bit主编码交集表,则终端根据相应的7Bit迷你表对除属于7Bit主编码交集表之外的其他字符作进一步的判断并处理,具体可以分为以下几种情况进行处理:
(一)
终端在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于标准7Bit迷你表的字符时,选择标准7Bit主表对这些需要编码的字符进行编码;参见前面实施例,在此不再赘述。
(二)
(1)终端在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于土耳其语和葡萄牙语的7Bit迷你表的字符时,确定属于土耳其语的7Bit迷你表的字符数量是否大于属于葡萄牙语字符的7Bit迷你表的字符数量,若是,则选择葡萄牙语的7Bit主表和土耳其语的7Bit扩展表对这些需要编码的字符进行编码;若否,则选择土耳其语的7Bit主表和葡萄牙语的7Bit扩展表对所这些需要编码的字符进行编码。
例如,需要编码的字符为“A、B、
á”,其中,“A”和“B”属于7Bit主编码交集表,
和
属于土耳其语的7Bit迷你表,“á”属于葡萄牙语的7Bit迷你表,由于属于土耳其语的7Bit迷你表的字符数量为两个,而属于葡萄牙语的7Bit迷你表的字符数量仅为1个,因此,选择葡萄牙语的7Bit主表和土耳其语的7Bit扩展表对这些需要编码的字符进行编码。
(2)终端在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于土耳其语和西班牙语的7Bit迷你表的字符时,选择土耳其语的7Bit主表和西班牙语的7Bit扩展表对这些需要编码的字符进行编码。
(3)终端确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于葡萄牙语和西班牙语的7Bit迷你表的字符时,选择葡萄牙语的7Bit主表和西班牙语的7Bit扩展表对这些需要编码的字符进行编码。
(三)
终端在确定这些需要编码的字符中即存在属于标准7Bit迷你表的字符,又存在属于两种以上语种的7Bit迷你表的字符时,不能使用7Bit编码,此时可以直接采用其他方式进行编码,也可以提示用户选择其他的编码方式。
由上可知,本实施例的终端利用7Bit主编码交集表以及各个7Bit迷你表对需要进行编码的字符进行查询,在确定需要编码的字符不全都属于7Bit主编码交集表时,对除属于7Bit主编码交集表之外的其他字符作进一步的判断和比较,从而可以选择出最适合的7Bit编码表,除了可以使得编码得出的字符串占用的空间最小,以及提升编码相互转换速度之外,还可以在一定程度上支持多种语种的混编,比如土耳其语和葡萄牙语、土耳其语和西班牙语、或者葡萄牙语和西班牙语的混编,一定程度上解决了现有技术在两种语种混编时无法使用7Bit编码的问题。
实施例五、
为了实施以上方法,本发明实施例还相应地提供一种终端,如图5a所示,该终端包括确定单元501和第一处理单元502;
确定单元501,用于确定需要编码的字符是否都属于7Bit主编码交集表,其中,该7Bit主编码交集表由所有7Bit主表之间的相同字符组成,这里所说的相同字符指的是统一码(Unicode)值和7Bit值均相同的字符;
例如,如果网络支持标准7Bit主表、土耳其语的7Bit主表和葡萄牙语的7Bit主表,则7Bit主编码交集表由标准7Bit主表中的字符集合、土耳其语的7Bit主表中的字符集合和葡萄牙语的7Bit主表中的字符集合的交集组成,即7Bit主编码交集表由标准7Bit主表、土耳其语的7Bit主表和葡萄牙语的7Bit主表这三个编码表之间的相同字符组成。
第一处理单元502,用于在确定单元501确定需要编码的字符不全都属于7Bit主编码交集表时,确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于标准7Bit迷你表的字符时,选择标准7Bit主表对这些需要编码的字符进行编码;在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于相应语种的7Bit迷你表的字符时,选择这些需要编码的字符的相应语种的7Bit主表对这些需要编码的字符进行编码;在确定这些需要编码的字符中即存在属于标准7Bit迷你表的字符,又存在属于相应语种的7Bit迷你表的字符时,选择标准7Bit主表和这些需要编码的字符的相应语种的7Bit扩展表对该需要编码的字符进行编码,或者,选择标准7Bit扩展表和这些需要编码的字符的相应语种的7Bit主表对这些需要编码的字符进行编码;其中,标准7Bit迷你表由标准7Bit主表和7Bit主编码交集表之间不同的字符组成;相应语种的7Bit迷你表由相应语种的7Bit主表和7Bit主编码交集表之间不同的字符组成。
进一步的,如图5b所示,该终端还可以包括第二处理单元503;
第二处理单元503,用于在确定单元501确定需要编码的字符都属于7Bit主编码交集表时,选择标准7Bit主表或这些需要编码的字符的相应语种的7Bit主表对这些需要编码的字符进行编码;
例如,如果这些需要编码的字符为土耳其语,则可以选择标准7Bit主表或土耳其语的7Bit主表对这些需要编码的字符,如果这些需要编码的字符为葡萄牙语,则可以选择标准7Bit主表或葡萄牙语的7Bit主表对这些需要编码的字符,等等。
其中,需要编码的字符可以为土耳其语或葡萄牙语或西班牙语,则参见图5c,第一处理单元502可以包括第一选择子单元5021、第二选择子单元5022、第三选择子单元5023或第四选择子单元5024中的至少一种;
第一选择子单元5021,用于确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于标准7Bit迷你表的字符时,选择标准7Bit主表对这些需要编码的字符进行编码;
第二选择子单元5022,用于在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于土耳其语/葡萄牙语的7Bit迷你表的字符时,选择土耳其语/葡萄牙语的7Bit主表对这些需要编码的字符进行编码;
第三选择子单元5023,用于在确定需要编码的字符中即存在属于标准7Bit迷你表的字符,又存在属于土耳其语/葡萄牙语的7Bit迷你表的字符时,确定属于标准7Bit迷你表的字符数量是否大于属于土耳其语/葡萄牙语的7Bit迷你表的字符数量,若是,选择标准7Bit主表和土耳其语/葡萄牙语的7Bit扩展表对这些需要编码的字符进行编码,若否,选择标准7Bit扩展表和土耳其语/葡萄牙语的7Bit主表对这些需要编码的字符进行编码;
第四选择子单元5024,用于在确定需要编码的字符中即存在属于标准7Bit迷你表的字符,又存在属于西班牙语的7Bit迷你表的字符时,选择标准7Bit主表和西班牙语的扩展表对这些需要编码的字符进行编码。
例如,第一处理单元502可以包括第一选择子单元5021、第二选择子单元5022和第三选择子单元5023;第一处理单元502也可以包括第一选择子单元5021、第二选择子单元5022、第三选择子单元5023和第四选择子单元5024中的至少一种。
该终端还可以在一定程度上支持多种语种的混编,例如,支持土耳其语和葡萄牙语的混编,或者土耳其语和西班牙语的混编,或者葡萄牙语和西班牙语的混编,等等,则参见图5c,该终端还可以包括第三处理单元504、第四处理单元505或第五处理单元506中的至少一种单元;
第三处理单元504,用于在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于土耳其语和葡萄牙语的7Bit迷你表的字符时,确定属于土耳其语的7Bit迷你表的字符数量是否大于属于葡萄牙语字符的7Bit迷你表的字符数量,若是,则选择葡萄牙语的7Bit主表和土耳其语的7Bit扩展表对这些需要编码的字符进行编码;若否,则选择土耳其语的7Bit主表和葡萄牙语的7Bit扩展表对这些需要编码的字符进行编码;
第四处理单元505,用于在确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于土耳其语和西班牙语的7Bit迷你表的字符时,选择土耳其语的7Bit主表和西班牙语的7Bit扩展表对这些需要编码的字符进行编码;
第五处理单元506,用于确定这些需要编码的字符中,除属于7Bit主编码交集表之外的其他字符都属于葡萄牙语和西班牙语的7Bit迷你表的字符时,选择葡萄牙语的7Bit主表和西班牙语的7Bit扩展表对这些需要编码的字符进行编码。
另外,需说明的是,在确定这些需要编码的字符中即存在属于标准7Bit迷你表的字符,又存在属于两种以上语种的7Bit迷你表的字符时,则不能使用7Bit编码,此时可以直接采用其他方式进行编码,也可以提示用户选择其他的编码方式。因此,该终端还可以包括第六处理单元,用于在确定这些需要编码的字符中即存在属于标准7Bit迷你表的字符,又存在属于两种以上语种的7Bit迷你表的字符时,采用其他编码对这些需要编码的字符进行编码。
以上各个单元的具体实施可参见前面实施例,在此不再赘述。
该终端可以为任何需要使用National Language 7Bit编码的设备,包括但不限于手机、便携计算机、个人数字助理PDA、智能手机、移动终端设备、短消息中心中的编码解析设备或服务器中的解析设备等。
由上可知,本实施例提供的终端利用7Bit主编码交集表以及各个7Bit迷你表对需要进行编码的字符进行查询,在确定单元501确定需要编码的字符不全都属于7Bit主编码交集表时,由第一处理单元502、第二处理单元503、第三处理单元504、第四处理单元505或第五处理单元506对除属于7Bit主编码交集表之外的其他字符作进一步的判断和比较,从而可以选择出最适合的7Bit编码表,除了可以使得编码得出的字符串占用的空间最小,以及提升编码相互转换速度之外,还可以在一定程度上支持多种语种的混编,比如土耳其语和葡萄牙语、土耳其语和西班牙语、或者葡萄牙语和西班牙语的混编,一定程度上解决了现有技术在两种语种混编时无法使用7Bit编码的问题。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种编码方法和终端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。