专利名称:短信编码解码方法、装置以及终端的利记博彩app
技术领域:
本发明涉及通信领域,具体而言,涉及一种短信编码解码方法、装置以及终端。
背景技术:
短消息是移动通讯系统提供给用户的一个基本服务,该服务能够使移动终端之间 互相传递文本或多媒体资料等。其中,传递文本内容的短消息服务应用较广。通过移动通 讯网络在移动终端和短消息中心之间传递的文本内容必须进行编码和解码。第三代合作 伙伴计划(3rd Generation Partnership Pro ject,简称为 3GPP)协议 23. 038 规定,短信 文本内容的编码有三种格式,全球移动通信(Globalsystem for Mobile Communication, 简称为GSM)7位编码,8位编码,通用多字节编码字符集(Universal Multiple-Octet CodedCharacter Set,简称为 UCS) 2 编码。GSM7编码使用7个二进制位来表示一个字符,可以表示的最大字符数是127,用于 英文等字符较少的语言。UCS2编码使用16个二进制位来表示一个字符,是Unicode的一 种形式,可以表示的最大字符数是65536,用于表示中文等字符较多的语言。还有一些语言 的字符数稍微大于127,不能使用GSM7,但是如果使用UCS2的话,又比较浪费空间,因为根 据3GPP协议23. 040规定,单次发送的最大长度为140个字节,采用UCS2编码的话,单次发 送的内容比采用GSM7位编码要少一半还多,所以这个时候可以使用ISO定义的8位编码 来发送。采用8位编码在短信文本编码里不常见,常见的是,这些国家会自行定义GSM7码 表,替代协议的默认GSM7码表,依然使用GSM7位编码,例如希腊。还有一种情况,3GPP协 议20. 038里也定义了一种GSM7的国家语言扩展机制,可以用于解决字符数稍多的语言的 GSM7编码,例如土耳其语、西班牙语、葡萄牙语等。在现有技术中,支持短信功能的终端(例如,手机、固定台或数据卡)都只支持英 文和本地语言两种语言编码。这样就可能导致出现问题。例如,当终端产品需要向某个国 家发货时,就必须对软件的短消息模块进行更改,以支持当地的语言编码,为了支持当地的 语言编码需要修改码表重新编译软件或者修改配置,这样就增加了软件定制的难度,也增 加了出错的几率,同时也需要更多的时间用于软件定制和测试;又例如,对于经常出国、更 换语言文字环境的用户,由于终端只能支持两种语言,导致在漫游过程中,用户无法正常收 发当地语言的短信。
发明内容
本发明的主要目的在于提供一种短信编码解码方案,以至少解决上述问题。根据本发明的一个方面,提供了一种短信编码方法,包括将短信设置为通用多字 节编码字符集UCS2格式;对设置为UCS2格式的短信中的每一个字符进行编码格式识别; 在短信中的所有字符均能被同一预定编码格式所识别的情况下,使用预定编码格式对短信 进行编码。进一步地,在使用预定编码格式对短信进行编码之后,还包括根据预定编码格式确定预定编码格式所支持的最大短信文本的最大长度;在短信超过最大长度的情况下,将 短信拆分为级联短信。进一步地,预定编码格式为以下之一全球移动通信GSM7编码、8位编码、UCS2 编码,其中,GSM7编码为以下之一 GSM7标准编码、国家自定义编码、第三代合作伙伴计划 3GPP国家语言扩展编码。进一步地,在对短信中的每一个字符进行编码格式识别之后,将短信保存在短信 文本缓冲区数组中;从短信文本缓冲区数组中读取短信,并使用预定编码格式对短信进行 编码。根据本发明的另一个方面,提供了一种短信解码方法,该方法包括接收短信并确 定短信的编码格式;使用与编码格式对应的解码格式对短信进行解码。进一步地,确定短信的编码格式包括获取短信中携带的用于指示编码格式的信 息;根据信息确定短信的编码格式。进一步地,确定短信的编码格式包括对短信中的每一个字符进行编码格式识别; 在短信中的所有字符均能被同一预定编码格式所识别的情况下,确定预定编码格式为短信 的编码格式。进一步地,预定编码格式为以下之一全球移动通信GSM7编码、8位编码、UCS2编 码,其中,GSM7编码为以下之一 GSM7标准编码、国家自定义编码、3GPP国家语言扩展编码。进一步地,在确定短信的编码格式为8位编码或国家自定义编码的情况下,在使 用与编码格式对应的解码格式对短信进行解码之后,还包括记录本次使用的8位编码或 国家自定义编码对应的国家解码格式,并在下一次接收到使用8位编码或国家自定义编码 进行编码的短信后,使用记录的国家解码格式对短信进行解码。根据本发明的另一个方面,提供了一种短信编码装置,该装置包括编码方式识别 模块,用于对设置为UCS2格式的短信中的每一个字符进行编码格式识别;编码模块,在短 信中的所有字符均能被同一预定编码格式所识别的情况下,使用预定编码格式对短信进行 编码。进一步地,编码模块包括GSM7标准编码模块,用于使用GSM7标准编码格式对短 信进行编码;国家自定义编码模块,用于使用国家自定义编码格式对短信进行编码;3GPP 国家语言扩展编码模块,用于使用3GPP国家语言扩展编码格式对短信进行编码;8位编码 模块,用于使用8位编码格式对短信进行编码;以及UCS2编码模块,用于使用UCS编码模块 对短信进行编码。根据本发明的另一个方面,提供了一种短信解码装置,该装置包括解码方式识别 模块,用于确定接收到的短信的编码格式;解码模块,用于使用与编码格式对应的解码格式 对短信进行解码。进一步地,解码模块包括GSM7标准解码模块,用于使用GSM7标准编码格式对短 信进行解码;国家自定义解码模块,用于使用国家自定义编码格式对短信进行解码;3GPP 国家语言扩展解码模块,用于使用3GPP国家语言扩展编码格式对短信进行解码;8位解码 模块,用于使用8位编码格式对短信进行解码;以及UCS2解码模块,用于使用UCS编码模块 对短信进行解码。根据本发明的另一个方面,提供了一种终端,该终端包括上述短信编码装置和/或上述短信解码装置。通过本发明,采用将短信设置为UCS2格式;对该短信中的每一个字符进行编码格 式识别,在该短信中的所有字符均能被同一预定编码格式所识别的情况下,使用该预定编 码格式对短信进行编码。解决了现有技术中支持短信功能的终端只支持英文和本地语言两 种语言编码有可能导致出现的问题,进而提高了终端的可用性。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的短信编码方法的流程图;图2是根据本发明实施例的短信解码方法的流程图;图3是根据本发明实施例的短信编码装置的结构框图;图4是根据本发明实施例的短信解码装置的结构框图;图5是根据本发明实施例的优选的短信编码方法的流程图;图6是根据本发明实施例的UCS2编码转换成GSM7编码的流程图;图7是根据本发明实施例的UCS2编码转成8位编码的流程图;图8是根据本发明实施例的优选的短信解码方法的流程图;图9是根据本发明实施例的扩展新增语言支持的流程图;图10是根据本发明实施例的编解码系统的结构框图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。在以下实施中,所提到的编码格式包括GSM7编码、8位编码、UCS2编码,其中, GSM7编码包括GSM7标准编码、国家自定义编码、第三代合作伙伴计划3GPP国家语言扩展 编码。当然,如果编码格式相对于上述几种编码格式有所增加或者更改,以下的实施例也可 以适用,只需要增加或修改相应的编解码模块即可。图1是根据本发明实施例的短信编码方法的流程图,如图1所示,该流程包括如下 步骤步骤S102,将短信设置为UCS2格式;步骤S104,对设置为UCS2格式的短信中的每一个字符进行编码格式识别;步骤S106,在短信中的所有字符均能被同一预定编码格式所识别的情况下,使用 预定编码格式对短信进行编码。其中,预定编码格式为以下之一全球移动通信GSM7编码、8位编码、UCS2编码,其 中,GSM7编码为以下之一 GSM7标准编码、国家自定义编码、第三代合作伙伴计划3GPP国家
语言扩展编码。在上述步骤中,通过对短信中的字符进行逐一的识别,确定一个对所有字符都能 编码的编码格式,然后使用该编码格式进行编码。通过这样的自动的识别过程就可以使短 信编码所支持的格式然后发送,可以解决现有技术中支持短信功能的终端只支持英文和本地语言两种语言编码有可能导致出现的问题。例如,克服了现有技术中存在的不同国家的 短信编码机制不一致,一套软件难以适配所有国家,从而每次发布软件的时候,都必须对短 信相关部分进行修改和配置的问题和缺陷,可以自动地对各种国家语言的短信编码进行适 配。优选地,在实施时,在确定对该短信所使用的编码格式之后,可以根据预定编码格 式确定预定编码格式所支持的最大短信文本的最大长度,如果编码后的短信超过了最大长 度,可以进行提示,也可以将该短信拆分为级联短信。优选地,在实施时,可以使用数组进行缓冲,当然也可以采用其他的缓冲的方式。 下面以数组为例进行说明。在对短信中的每一个字符进行编码格式识别之后,将将短信保 存在短信文本缓冲区数组中;从短信文本缓冲区数组中读取短信,并使用预定编码格式对 短信进行编码。优选地,在对短信进行编码之后,可以在该编码后的短信中携带用于指示该短信 编码方式的信息,以便于进行接收方进行解码。图2是根据本发明实施例的短信解码方法的流程图,如图2所示,该流程包括如下 步骤步骤S202,接收短信并确定短信的编码格式;步骤S204,使用与编码格式对应的解码格式对短信进行解码。通过上述的步骤,可以对短信的编码格式进行识别,从而对该短信进行正确的解 码。在实施时,如果短信中携带了用于指示该短信编码格式的信息,那么,获取短信中 携带的用于指示编码格式的信息;根据该信息确定短信的编码格式。当然,发送方也可以不 发送用于指示编码格式的信息,此时,可以对短信中的每一个字符进行编码格式识别;在短 信中的所有字符均能被同一预定编码格式所识别的情况下,确定预定编码格式为短信的编 码格式。优选地,在实施时,在确定短信的编码格式为8位编码或国家自定义编码的情况 下,在使用与编码格式对应的解码格式对短信进行解码之后,还可以记录本次使用的8位 编码或国家自定义编码对应的国家解码格式,并在下一次接收到使用8位编码或国家自定 义编码进行编码的短信后,使用记录的国家解码格式对短信进行解码。图3是根据本发明实施例的短信编码装置的结构框图,如图3所示,该装置包括 编码方式识别模块32、编码模块34,下面对此进行说明。编码方式识别模块32 (或简称为编码识别模块),用于对设置为UCS2格式的短信 中的每一个字符进行编码格式识别;编码模块34连接至编码方式识别模块32,在短信中的 所有字符均能被同一预定编码格式所识别的情况下,使用预定编码格式对短信进行编码。在实施时,该编码模块34可以包括GSM7标准编码模块,用于使用GSM7标准编码 格式对短信进行编码;国家自定义编码模块,用于使用国家自定义编码格式对短信进行编 码;3GPP国家语言扩展编码模块,用于使用3GPP国家语言扩展编码格式对短信进行编码; 8位编码模块,用于使用8位编码格式对短信进行编码;以及UCS2编码模块,用于使用UCS 编码模块对短信进行编码。图4是根据本发明实施例的短信解码装置的结构框图,如图4所示,该装置包括解码方式识别模块42、解码模块44,下面对此进行说明。解码方式识别模块42 (或简称为解码识别模块),用于确定接收到的短信的编码 格式;解码模块44连接至解码方式识别模块42,用于使用与编码格式对应的解码格式对短 信进行解码。在实施时,解码模块44可以包括GSM7标准解码模块,用于使用GSM7标准编码格 式对短信进行解码;国家自定义解码模块,用于使用国家自定义编码格式对短信进行解码; 3GPP国家语言扩展解码模块,用于使用3GPP国家语言扩展编码格式对短信进行解码;8位 解码模块,用于使用8位编码格式对短信进行解码;以及UCS2解码模块,用于使用UCS编码 模块对短信进行解码。需要说明的是,编解码模块可以根据实际的需要增加修改或者删除。图5是根据本发明实施例的优选的短信编码方法的流程图,如图5所示,该流程包 括如下步骤步骤S501,将短信输入文本框的编码设置为UCS2。步骤S502,用户在短信输入文本框里输入要发送的文本。为提示用户现在已经输 入多少个字符,共发送多少条短信,每输入一个字符后,都要调用编码识别模块,判断目的 编码格式。步骤S503,用户点击“发送”按钮后,创建一个短信文本缓冲区数组,长度是160个 Int型数据。这样做的原因是,短信每次发送的最大长度是160个字符。获取文本框里的字 符,将文本框里的字符拷贝到文本缓冲区数组里。步骤S504,构造一个短信数据结构,用于过程控制。步骤S505,对文本缓冲区数组进行扫描,判断短信是否是级联短信,级联的条数, 判断级联短信的依据是如果全部字符都是GSM7默认码字符或者GSM7扩展码字符,超过 160个字符为级联短信,级联中单条的长度是153。如果存在一个字符是UCS2码字符,超过 70个字符为级联短信,级联中单条的长度是67。如果全部字符不含UCS2码字符,但是包含 国家扩展码字符,则超过155个字符为级联短信,级联中点条的长度是149。将这两个数据 写入短信数据结构。步骤S506,如果短信编码类型是7位的,则按照图6开始进行转换,将文本缓冲区 里的每个字符的UCS2编码转换成GSM7编码。步骤S507,如果短信编码类型是UCS2的,则不需要转换。依然保持UCS2编码。步骤S508,如果短信编码类型是8位的,则调用图7开始转换,将文本缓冲区里的 每个字符的UCS2编码转换成8位编码。步骤S509,将级联短信拆开,把文本缓冲区里的级联短信,按照单条所能发送的最 大长度,拆开,依次将内容传给短信发送系统。图6是根据本发明实施例的UCS2编码转换成GSM7编码的流程图,如图6所示,该 流程包括如下步骤步骤S601,从文本缓冲区里读入一个UCS2字符。步骤S602,步骤S502会告知这个UCS2字符要编码成何种GSM7位编码。步骤S603,如果要编成GSM7默认码,则调用GSM7默认编/解码模块处理。步骤S604,如果要编成GSM7扩展码,则调用GSM7扩展编/解码模块。
步骤S605,如果要编成国家扩展码,则调用3GPP国家语言扩展编/解码模块。码 值由两个编码值组成,第一个是固定标示位Oxlb,第二个码值的查找方法分Single Shift 和 Lock Shift 两种。步骤S606,如果要编成国家自定义GSM7码,则调用国家自定义编/解码模块。步骤S607,重复步骤S401-步骤S406,直到文本缓冲区里的所有字符都转换完毕。图7是根据本发明实施例的UCS2编码转成8位编码的流程图,如图7所示,该流 程包括如下步骤步骤S701,从文本缓冲区读入一个UCS2字符。步骤S702,从国家语言文件里,分别读取目前已经定义的使用8位字符的国家的 编码表。具体的逻辑数据结构是哈希表。步骤S703,将步骤S701里的UCS2字符在编码哈希表里查找,如果找到,就使用对 应的哈希表值(8位编码)来替代原来的UCS2值。步骤S704,返回步骤S701,直到文本缓冲区里的所有字符都转换完毕。图8是根据本发明实施例的优选的短信解码方法的流程图,如图8所示,该流程包 括如下步骤步骤S801,待解码短信PDU串传入系统。步骤S802,调用解码识别模块判断目的解码格式。步骤S803,如果是8位编码,则调用8位编码国家识别模块继续识别是哪个国家。步骤S804,如果是国家语言自定义编码或者标准GSM7编码,则调用GSM7标准和国 家自定义扩展识别模块继续识别。步骤S805,构造短信数据结构。步骤S806,如果采用标准GSM7解码,则调用标准GSM7编解码模块。步骤S807,如果采用8位编码解码,则调用8位编解码模块。步骤S808,如果采用UCS2编码,则调用UCS2解码模块,其实就是保持编码不变。步骤S809,如果采用3GPP国家语言扩展编码,则调用3GPP国家语言扩展编解码模 块。步骤S810,如果采用国家自定义GSM7编码,则调用国家自定义编解码模块解码。步骤S811,解码后的文本放入短信数据结构,级联短信则进行拼接。图9是根据本发明实施例的扩展新增语言支持的流程图,如图9所示,该流程包括 如下步骤步骤S901,获取信息,该国家语言编码使用的8位编码,3GPP国家语言扩展编码, 还是国家自定义编码。步骤S902,如果使用的是8位编码,则制作这个国家的8位编/解码表文件,放入 8位码表文件夹下,供8位编/解码模块调用。制作8位编码判断数组文件,放入判断数组 文件夹下,供国家语言识别模块调用。步骤S903,如果使用的是国家自定义编码,则制作这个国家的自定义GSM7编/解 码表文件,放入国家自定义GSM7码表文件夹里。制作国家自定义编码判断数组文件,放入 判断数组文件夹下,供国家语言识别模块调用。步骤S904,如果使用的是3GPP国家语言扩展,则制作这个国家的3GPP国家语言扩
9展的Single Shift编/解码表和Lock Shift编/解码表,放入3GPP国家语言扩展码表文 件夹下。制作3GPP国家语言扩展判断数组,放入判断数组文件夹下,供国家语言识别模块 调用。在另一个实施例中,还提供了一种终端,包括上述的短信编码装置和/或上述的 短信解码装置。下面对一个优选的终端实施例进行说明。该终端包括标准GSM7编解码模块,UCS2编解码模块,这些模块可以使用现有的 硬件或者软件模块来实现。该终端还包括3GPP国家语言扩展编解码模块,8位编解码模块,在本实施例中这 两个模块可以自动的加载新的码表以实现对新增语言的支持。在以下叙述中将短信编码分成两个过程编码方式识别,编码。将短信解码分成两 个过程解码方式识别,解码。本实施例在短信编码的过程中各模块的作用如下需要编码的短信文本以UCS2 (Unicode)格式传递进系统。编码方式识别模块读入判断数组,对该文本的目的编码格式进行识别。这个识别 是一次遍历的,即只有当该短信文本里的每一个字符,都被识别成某个编码格式的时候, 才可以认为整个文本的目标编码格式是某格式。如果编码方式识别模块识别出需采用标准GSM7编码,则调用标准GSM7编解码模 块;如果编码方式识别模块判断出需采用3GPP国家语言扩展编码,则调用3GPP国家自定义 编解码模块;如果编码方式识别模块判断出需采用国家自定义GSM7位编码,则调用国家自 定义编解码模块;如果编码方式识别模块识别出需采用8位编码,则调用8位编解码模块; 如果编码方式识别模块识别出需采用UCS2编码,则调用UCS2编解码模块。编码完成后,生成短信PDU串,输出给短信发送软件。本实施例在短信解码的过程中各模块的作用如下需要解码的PDU串作为输入传递进系统。解码方式识别模块根据PDU串的DCS字 段,和短信头的信息单元,初步判断出PDU串的目标解码格式。如果解码方式识别模块识 别出采用UCS2码,则调用UCS2编解码模块解码。如果解码方式识别模块识别出采用8位 码,则进一步调用8位编码国家识别模块,该模块具有经验记忆和判断功能,识别出具体是 哪个国家的8位编码,然后调用8位编解码模块解码。如果解码方式识别模块识别出采用 3GPP国家语言扩展GSM7码,则调用3GPP国家语言扩展编解码模块。如果解码方式识别模 块在短信头信息里,没有发现短信格式。则进一步调用国家自定义扩展识别模块,该模块具 有经验记忆和判断功能,识别出应该使用标准GSM7编码还是国家自定义扩展GSM7码。如 果国家自定义扩展识别模块识别出需采用标准GSM7编码,则调用标准GSM7编解码模块解 码。如果国家自定义扩展识别模块识别出需采用国家自定义扩展GSM7码,则调用国家自定 义编解码模块解码。此外,还有编解码过程可以使用的配置和支持模块,该模块的作用是管理短信数 据结构,用于承载编码前的文本和编码后的码文,记录各管理数据,例如短信头、级联信息 等。另外,该模块还负责管理短信数据结构在各个模块之间的传递,以及整个系统的输入输
出ο本实施例具有以下的技术效果
1.无须重新编译软件或者修改任何配置项,自动适配多国语言短信编码。2.扩展能力强,不需要重新编译程序就可以快速的加入对其他国家语言的支持。3.提出了一种智能判断和记忆的机制,处理8位编码之间、国家自定义编码和标 准GSM7位编码的识别。4.节省了针对不同国家发货的软件定制时间,提高了软件的可靠性,改善了终端 用户体验。在另外一个实施例中,上述的模块也可以作为一个系统存在,图10是根据本发明 实施例的编解码系统的结构框图,下面结合图10对该编解码系统进行说明。如图10所示, 该系统由编码方式识别模块,解码方式识别模块,GSM7标准和国家自定义扩展识别模块,8 位编码国家识别模块,标准GSM7编解码模块,8位编解码模块,UCS2编解码模块,3GPP国家 语言扩展编解码模块,国家自定义编解码模块,配置和支持模块组成。编码识别模块,用于根据输入字符,识别出该条短信的目的编码格式。例如,依次 读入标准GSM7默认字符数组,标准GSM7扩展字符数组,3GPP国家语言扩展的各个国家的字 符数组,8位国家编码字符数组,国家自定义的字符数组。当发现所有的字符都落入某个字 符数组里,就可以确认目的编码格式,如果有任一个字符不能在字符数组里找到,就判断目 的编码格式是UCS2编码。标准GSM7编解码模块,用于标准GSM7码与UCS2编码之间的转换。国家自定义编解码模块,用于国家自定义GSM7码与UCS2编码之间的转换。这个 模块的码表不止一个,对应于不同的国家,有不同的码表,可以动态的载入新增加的码表。UCS2编解码模块,用于UCS2编码字符的检验和传递。8位编/解码模块,用于8位码与UCS2编码之间的转换。根据IS0-8859的定义, 8位码表不是唯一的,使用字母文字的国家通常都有自己的8位码表。该模块可以动态的载 入新增加的码表。3GPP国家语言扩展编解码模块,用于3GPP国家语言扩展码与UCS2编码之间的转 换。这个模块的码表也不止一个,对应于不同的国家,有不同的码表,可以动态的载入新增 加的码表。解码识别模块,用于根据输入的需要解码的PDU串,判断目的解码格式根据PDU 串的DCS字段和短信头信息,根据3GPP协议23. 040的定义,判断出目的编码格式是GSM7 编码,8位编码,UCS2编码,还是3GPP国家扩展编码,然后进入相对应的解码模块。具体采 用8位编码的哪个国家的码表,或者标准GSM7和国家自定义扩展,该模块是不负责的,交由 后面两个模块处理。GSM7标准和国家自定义扩展识别模块,用于对标准GSM7和国家自定义扩展识别 进行判断。该模块具有智能判断和记忆功能,第一次根据本机的语言设置(例如Lirmx操 作系统下的Locale)和发短信时的编码方式来综合判断使用标准GSM7还是国家自定义解 码,用户可以在获得结果后调整,模块将记录用户的调整,判断出下次解码时采用何种解码 方式。8位编码国家识别模块,用于对具体采用哪个国家的8位码表进行判断。该模块 采用智能判断和记忆,第一次根据本机的语言设置(如Linux系统下的Local)和发短信时 采用的编码格式来综合判断解码时应采用哪个国家的8位码表,用户可以在获得结果后调整,模块将记录用户的调整,判断出下次解码时采用何种解码方式。
配置和支持模块,用于定义短信数据结构,接收短信内容,填写短信数据结构,与 短信接收/发送系统交互。定义短信数据结构,该结构与3GPP短信格式的协议对应,同时, 也将其他一些程序实现需要的数据字段。这个短信数据结构实现为可以容纳整个级联短综上所述,通过上述的各个实施例,可以同时支持多国语言短信编解码,该系统支 持目前已知的所有编码格式,可以根据用户输入和接收到的短信内容,自动匹配当前国家 语言的编码形式,调入相对应的码表和编解码程序。同时,该系统的扩展性好,可以对目前 没有支持的语言编码进行快速的扩展支持。对于经常出国的客户,使用上述实施例的终端 产品,无须更换和升级软件,在世界各地都可以正确的接收和发送当地语言的短信。另外, 通过上述实施例,向不同的国家发货的终端产品,可以使用同一套短信模块,降低了软件定 制、尤其是语言编码模块定制的难度,也可以降低出错几率,保证了软件产品的质量和时间 节点。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种短信编码方法,其特征在于,包括将短信设置为通用多字节编码字符集UCS2格式;对设置为UCS2格式的所述短信中的每一个字符进行编码格式识别;在所述短信中的所有字符均能被同一预定编码格式所识别的情况下,使用所述预定编码格式对所述短信进行编码。
2.根据权利要求1所述的方法,其特征在于,在使用所述预定编码格式对所述短信进 行编码之后,还包括根据所述预定编码格式确定所述预定编码格式所支持的最大短信文本的最大长度;在所述短信超过所述最大长度的情况下,将所述短信拆分为级联短信。
3.根据权利要求1所述的方法,其特征在于,所述预定编码格式为以下之一全球移动 通信GSM7编码、8位编码、UCS2编码,其中,所述GSM7编码为以下之一 GSM7标准编码、国 家自定义编码、第三代合作伙伴计划3GPP国家语言扩展编码。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在对所述短信中的每一个字符进行编码格式识别之后,将所述短信保存在短信文本缓 冲区数组中;从所述短信文本缓冲区数组中读取所述短信,并使用所述预定编码格式对所述短信进 行编码。
5.一种短信解码方法,其特征在于,包括接收短信并确定所述短信的编码格式;使用与所述编码格式对应的解码格式对所述短信进行解码。
6.根据权利要求5所述的方法,其特征在于,确定所述短信的编码格式包括获取所述短信中携带的用于指示所述编码格式的信息;根据所述信息确定所述短信的编码格式。
7.根据权利要求5所述的方法,其特征在于,确定所述短信的编码格式包括对所述短信中的每一个字符进行编码格式识别;在所述短信中的所有字符均能被同一预定编码格式所识别的情况下,确定所述预定编 码格式为所述短信的编码格式。
8.根据权利要求5至7中任一项所述的方法,其特征在于,所述预定编码格式为以下之 一全球移动通信GSM7编码、8位编码、UCS2编码,其中,所述GSM7编码为以下之一 GSM7 标准编码、国家自定义编码、3GPP国家语言扩展编码。
9.根据权利要求8所述的方法,其特征在于,在确定所述短信的编码格式为8位编码或 国家自定义编码的情况下,在使用与所述编码格式对应的解码格式对所述短信进行解码之 后,还包括记录本次使用的8位编码或国家自定义编码对应的国家解码格式,并在下一次接收到 使用8位编码或国家自定义编码进行编码的短信后,使用所述记录的国家解码格式对所述 短信进行解码。
10.一种短信编码装置,其特征在于,包括编码方式识别模块,用于对设置为UCS2格式的短信中的每一个字符进行编码格式识别;编码模块,在所述短信中的所有字符均能被同一预定编码格式所识别的情况下,使用 所述预定编码格式对所述短信进行编码。
11.根据权利要求10所述的装置,其特征在于,所述编码模块包括 GSM7标准编码模块,用于使用GSM7标准编码格式对所述短信进行编码; 国家自定义编码模块,用于使用国家自定义编码格式对所述短信进行编码;3GPP国家语言扩展编码模块,用于使用3GPP国家语言扩展编码格式对所述短信进行 编码;8位编码模块,用于使用8位编码格式对所述短信进行编码;以及 UCS2编码模块,用于使用UCS编码模块对所述短信进行编码。
12.—种短信解码装置,其特征在于,包括解码方式识别模块,用于确定接收到的短信的编码格式;解码模块,用于使用与所述编码格式对应的解码格式对所述短信进行解码。
13.根据权利要求12所述的装置,其特征在于,所述解码模块包括 GSM7标准解码模块,用于使用GSM7标准编码格式对所述短信进行解码; 国家自定义解码模块,用于使用国家自定义编码格式对所述短信进行解码;3GPP国家语言扩展解码模块,用于使用3GPP国家语言扩展编码格式对所述短信进行 解码;8位解码模块,用于使用8位编码格式对所述短信进行解码;以及 UCS2解码模块,用于使用UCS编码模块对所述短信进行解码。
14.一种终端,其特征在于,包括权利要求10至11中任一项所述的短信编码装置和/ 或权利12至13中任一项所述的短信解码装置。
全文摘要
本发明提供了一种短信编码解码方法、装置以及终端。该方法包括将短信设置为通用多字节编码字符集UCS2格式;对设置为UCS2格式的短信中的每一个字符进行编码格式识别;在短信中的所有字符均能被同一预定编码格式所识别的情况下,使用预定编码格式对短信进行编码。通过本发明提高了终端的可用性。
文档编号H04W4/18GK101938719SQ201010275818
公开日2011年1月5日 申请日期2010年9月3日 优先权日2010年9月3日
发明者于辉 申请人:中兴通讯股份有限公司