一种短信解码的方法和用户终端转让专利

申请号 : CN200810211922.1

文献号 : CN101350858B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘广振

申请人 : 华为终端有限公司

摘要 :

本发明实施例公开了一种短信解码的方法和用户终端。该方法包括:获取有效字符集或无效字符集;根据有效字符集或无效字符集,比较不同解码方式对短信进行解码得到的解码内容;根据所述比较结果选择具有最佳解码结果的解码内容作为所述短信的解码结果并输出。通过本发明的实施例,对于接收到的短信使用不同解码方式对短信进行解码,并根据有效字符集或无效字符集对各解码内容进行比较,选择具有最佳解码结果的解码内容作为解码结果。从而避免在不同网络中的用户终端互发短信时出现乱码的问题,提高了短信的容错性。

权利要求 :

1.一种短信解码的方法,其特征在于,包括:

获取有效字符集或无效字符集;

按照默认的解码方式对短信进行解码,所述默认的解码方式获得的解码结果中的字符全部属于有效字符时,直接作为最终结果输出,否则作为解码内容保留并使用其他不同的解码方式对短信进行解码;

根据有效字符集或无效字符集,比较不同解码方式对短信进行解码得到的解码内容;

根据比较结果选择具有最佳解码结果的解码内容作为所述短信的解码结果并输出。

2.如权利要求1所述的方法,其特征在于,所述获取有效字符集或无效字符集包括:根据常用字符集特征和/或语言文字类型,获取当前使用的有效字符集或者无效字符集。

3.如权利要求1所述的方法,其特征在于,所述不同解码方式对短信进行解码得到的解码内容包括:短信内容数据首字节小于32时,使用7bitASCII编码方式以及UCS2编码方式进行解码,分别得到解码内容;

所述短信内容数据首字节不小于32时,使用UCS2编码方式进行解码,得到解码内容。

4.权利要求3所述的方法,其特征在于,所述使用7bitASCII编码方式进行解码包括:将首字节作为头部数据长度,丢弃该短信内容头部数据:直接将剩余数据按照7bit ASCII编码格式进行解码得到解码内容;或根据短信内容头部数据长度,换算为能被7整除的比特数,将短信内容头部数据后面可能存在的补充比特也丢弃,把剩余数据按照7bit ASCII编码格式解码得到解码内容。

5.权利要求3所述的方法,其特征在于,所述使用UCS2编码方式进行解码包括:将首字节作为头部数据长度,丢弃该短信内容头部数据,将剩余数据按照UCS2编码格式进行解码得到解码内容。

6.权利要求1所述的方法,其特征在于,所述根据有效字符集或无效字符集,比较不同解码方式对短信进行解码得到的解码内容包括:比较不同解码方式对短信进行解码得到的解码内容中包括的有效字符和无效字符。

7.权利要求1所述的方法,其特征在于,所述根据比较结果选择具有最佳解码结果的解码内容作为所述短信的解码结果并输出包括:选择无效字符最少的解码内容作为所述短信的解码结果并输出;

对于无效字符数相同的多个解码内容,选择有效字符最多的解码内容作为所述短信的解码结果并输出;

对于无效字符数和有效字符数都相同的多个解码内容,根据解码顺序,将最先获得的解码内容作为最终的解码结果并输出。

8.如权利要求1所述的方法,其特征在于,所述输出包括:对无效字符进行可视化处理或不进行显示。

9.一种用户终端,其特征在于,包括:

获取单元,用于获取有效字符集或无效字符集;

解码单元,用于按照默认的解码方式对短信进行解码;所述默认的解码方式获得的解码结果中的字符全部属于有效字符时,直接作为最终结果输出,否则作为解码内容保留并使用其他不同解码方式对短信进行解码;

比较单元,用于根据有效字符集或无效字符集,比较所述解码单元使用不同解码方式对短信进行解码得到的解码内容;

选择单元,用于根据比较结果选择具有最佳解码结果的解码内容作为所述短信的解码结果并输出。

10.如权利要求9所述的用户终端,其特征在于,所述解码单元使用的解码方式包括:短信内容数据首字节小于32时,使用7bitASCII编码方式以及UCS2编码方式进行解码,分别得到解码内容;所述短信内容数据首字节不小于32时,使用UCS2编码方式进行解码,得到解码内容。

11.如权利要求9所述的用户终端,其特征在于,所述选择单元具体用于:选择无效字符最少的解码内容作为所述短信的解码结果并输出;

对于无效字符数相同的多个解码内容,选择有效字符最多的解码内容作为所述短信的解码结果并输出;

对于无效字符数和有效字符数都相同的多个解码内容,根据解码顺序,将最先获得的解码内容作为最终的解码结果并输出。

12.如权利要求9所述的用户终端,其特征在于,还包括:输出单元,用于对所述选择单元输出的解码结果中的无效字符进行可视化处理或不进行显示。

说明书 :

一种短信解码的方法和用户终端

技术领域

[0001] 本发明涉及通信技术领域,尤其是一种短信解码的方法和用户终端。
[0002] 背景技术
[0003] 由于GSM(Global System for Mobile communication,全球移动通信系统)网络大都支持级联短信,该类短信在转发到CDMA(Code Division MultipleAccess,码分多址接
入)网络后,常常由于短信网关未做正确处理,而CDMA又不能够识别短信中的级联信息,导
致用户终端收到短信后会出现乱码,影响用户使用。在其他的跨网络情况下也有类似的短
信乱码情况发生。
[0004] 考虑到一般情况下的级联短信的头部数据为6个字节,因此现有技术中提供了一种解决跨网短信出现乱码的方法,即如果前6个字节不能表示为有效字符,则直接去掉这6
个字节,并解码剩余数据。
[0005] 在实现本发明过程中,发明人发现现有技术中至少存在如下问题:理论上,级联短信的头部数据可以为任意个字节。因此如果只按照6个字节的情况处理,在某些情况下,会
导致后面解码出现字节错位或比特错误,导致短信中的内容全部成为乱码。
[0006] 发明内容
[0007] 本发明的实施例提供一种短信解码的方法和用户终端,以在跨网络情况下实现对短信的最佳解码,避免乱码出现。
[0008] 本发明的实施例提供一种短信解码的方法,包括:
[0009] 获取有效字符集或无效字符集;
[0010] 按照默认的解码方式对短信进行解码,所述默认的解码方式获得的解码结果中的字符全部属于有效字符时,直接作为最终结果输出,否则作为解码内容保留并使用其他不
同的解码方式对短信进行解码;
[0011] 根据有效字符集或无效字符集,比较不同解码方式对短信进行解码得到的解码内容;
[0012] 根据比较结果选择具有最佳解码结果的解码内容作为所述短信的解码结果并输出。
[0013] 本发明的实施例提供一种用户终端,包括:
[0014] 获取单元,用于获取有效字符集或无效字符集;
[0015] 解码单元,用于按照默认的解码方式对短信进行解码;所述默认的解码方式获得的解码结果中的字符全部属于有效字符时,直接作为最终结果输出,否则作为解码内容保
留并使用其他不同解码方式对短信进行解码;
[0016] 比较单元,用于根据有效字符集或无效字符集,比较所述解码单元使用不同解码方式对短信进行解码得到的解码内容;
[0017] 选择单元,用于根据比较结果选择具有最佳解码结果的解码内容作为所述短信的解码结果并输出。
[0018] 与现有技术相比,本发明的实施例具有以下优点:
[0019] 通过本发明的实施例,对于接收到的短信使用不同解码方式对短信进行解码,并根据有效字符集或无效字符集对各解码内容进行比较,选择具有最佳解码结果的解码内容
作为解码结果。从而避免在不同网络中的用户终端互发短信时出现乱码的问题,提高了短
信的容错性。
[0020] 附图说明
[0021] 图1是本发明实施例中短信解码的方法流程图;
[0022] 图2是本发明另一实施例中短信解码的方法流程图;
[0023] 图3是本发明实施例中一种用户终端的结构示意图。
[0024] 具体实施方式
[0025] 本发明是一种短信解码的方法如图1所示,包括以下步骤:
[0026] 步骤s101、获取有效字符集或无效字符集。
[0027] 步骤s102、根据所述有效字符集或无效字符集,比较不同解码方式对短信进行解码得到的解码内容。
[0028] 步骤s103、根据所述比较结果选择具有最佳解码结果的解码内容作为所述短信的解码结果并输出。
[0029] 通过本发明的实施例,对于接收到的短信使用不同解码方式对短信进行解码,并根据有效字符集或无效字符集对各解码内容进行比较,选择具有最佳解码结果的解码内容
作为解码结果。从而避免在不同网络中的用户终端互发短信时出现乱码的问题,提高了短
信的容错性。
[0030] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:
[0031] GSM协议中对SMS-Deliver类型的短信PDU(Protocol Data Unit,协议数据单元)的描述如表1所示:
[0032] 表1.SMS-Deliver类型的短信PDU
[0033]Abbr. Reference P1)R2) Description
TP-MTI TP-Message-Type-Indicator M 2b Parameter describing the message type.
(比特) 描绘信息类型的参数
TP-MMS TP-More-Messages-to-Send M 1b Parameter indicating whether or notthere are more messages
to send标示是否有短信息被传递的参数
TP-RP TP-Reply-Path M 1b Parameter indicating that Reply Pathexists.
标示回复路径的参数
TP-UDHI TP-User-Data-Header-Indicator O 1b Parameter indicating that the TP-UDfield contains a Header标示TP用户数据域包含一个数据头的参数
TP-SRI TP-Status-Report-Indication O 1b Parameter indicating if the SME hasrequested a status report.标示sME是否请求状态报告的参数
TP-OA TP-Originating-Address M 2-12o Address of the originating SME.
(八进制位)SME的起始地址
TP-PID TP-Protocol-Identifier M 1o Parameter identifying the above layer protocol,if any.
若有上层协议,对上层协议进行鉴定的参数
TP-DCS TP-Data-Coding-Scheme M 1o Parameter identifying the codingscheme within the TP-User-Data.识别带有TP用户数据编码架构的参数
TP-SCTS TP-Service-Centre-Time-Stamp M 7o Parameter identifying time when theSC received the message.用于确定sC接受信息时间的参数
TP-UDL TP-User-Data-Length M I(整型) Parameter indicating the length of theTP-User-Data field tofollow.
标示TP用户数据域长度的参数
TP-UD TP-User-Data O 用户数据
[0034] 其中TP-UDHI(TP-User Data Header Indicator,用户数据头标识)如果为1,则表示TP-UD的前面一段数据为数据头(常常用来表示级联信息),而不是真正的短信数据。
该短信被传到CDMA网络后,由于先前的CDMA短信不支持UDHI字段,UDHI字段就会丢失,
因此就无法获知TP-UD中前面包含了一个数据头,直接解码时,会导致后续的解码出现字
节错位或比特错误,下面是常见的几种字符编码可能遇到的情况:
[0035] (1)对于UCS2编码:
[0036] 如果头部数据长度为奇数个字节,直接解码会导致后面真正的UCS2字符出现一个字节的错位,从而全部乱码。
[0037] (2)对于7bit编码:
[0038] 如果头部数据长度不为7的倍数,直接解码会导致后续每个字节出现比特错位,从而全部乱码。
[0039] (3)对于8bit编码:
[0040] 由于头部数据的长度计算与该编码的数据一致,因此不会导致乱码,本发明的实施例不考虑这一情况。
[0041] 本发明的实施例中,对CDMA中两个常用字符集的特征分析如下:
[0042] 7bitASCII:第0-31,127为不可显示字符
[0043] UCS2(unicode):统一编码字符集,所有国家和地区的文字都在这个字符集中包括了。每种文字都占据一段特定的编码位置,例如汉字分布在U+3400~U+9FFF以及
U+F900~U+FAFF之间,标准ASCII码字符分布在U+0000~U+00ff之间。
[0044] 基于上述描述,本发明实施例提供一种短信解码的方法如图2所示,包括:
[0045] 步骤s201、获取有效字符集或无效字符集。
[0046] 具体的,根据用户终端的常用字符集特征以及语言文字类型(例如根据当前用户终端使用的界面语言),获取用户终端当前使用的有效字符集(也可称为最小字符集),或
者无效字符集(也可称为不可用的字符集)。
[0047] 例如,对于英语系文字ASCII编码,可将0~31,127这33个字符作为无效字符集,对于中文UCS2编码,除前面所述33个字符作为无效字符集外,还可以根据汉字编码范
围U+3400~U+9FFF以及U+F900~U+FAFF,将其确定为有效字符集。
[0048] 步骤s202、按照用户终端上默认的短信内容解码方式,对接收到的短信进行解码,得到解码内容。
[0049] 步骤s203、根据有效字符集或无效字符集,对该解码内容进行有效性判断,有效则直接将该解码内容作为最终的解码结果输出,流程结束;否则进行步骤s204。有效性判断
的标准为:解码内容中的字符全部属于有效字符,且没有无效字符时,判断解码内容有效。
[0050] 步骤s204、将该解码内容作为备用解码内容保留,并使用不同解码方式对短信进行解码,得到不同的备用解码内容。
[0051] (1)如果短信内容数据首字节小于32:
[0052] ①使用7bit ASCII编码方式进行解码:
[0053] 将该字节作为头部数据长度,丢弃该短信内容头部数据,然后:
[0054] 直接将剩余数据(以比特为单位)按照该7bit ASCII编码格式进行解码得到一个备用解码内容;或
[0055] 根据短信内容头部数据长度,换算为能被7整除的比特数,将短信内容 头部数据后面可能存在的补充比特也丢弃,把剩余数据(以比特为单位)按照7bit ASCII编码格式
解码得到一个备用解码内容。
[0056] ②使用UCS2编码方式进行解码:
[0057] 将该字节作为头部数据长度,丢弃该短信内容头部数据,将剩余数据按照UCS2编码格式进行解码得到一个备用解码内容。
[0058] ③使用其他编码方式进行解码:
[0059] 如果存在其他可能的编码方式,则按照该编码方式对应的既定规则进行解码处理,得到一个备用解码内容;
[0060] (2)如果短信内容数据首字节不小于32:
[0061] 使用UCS2编码方式进行解码:
[0062] 将该字节作为头部数据长度,则丢弃短信内容头部数据,将剩余字节按照UCS2编码格式进行解码得到一个备用解码内容。
[0063] 步骤s205、比较不同解码方式得到的备用解码内容,将有效程度最高的备用解码内容作为最终的解码结果。
[0064] 比较时可以将有效程度作为判断规则。例如:首先根据无效字符数排序,无效字符越少,则有效程度越高;对于无效字符数相同的备用解码内容,再根据有效字符排序,如果
未提供有效字符集或者排序仍相同,则可以根据解码时的顺序,将最先获得的备用解码内
容作为最终的解码结果。
[0065] 步骤s206、显示最终的解码结果。
[0066] 该步骤中,可以对不可显示字符进行可视化处理,或者将不可显示字符替换显示为问号、或者替换显示为空格,当然也可不进行显示。
[0067] 通过本发明实施例提供的方法,对于接收到的短信使用不同解码方式对短信进行解码,并根据有效字符集或无效字符集对各解码内容进行比较,选择具有最佳解码结果的
解码内容作为解码结果。从而避免在不同网络中的用户终端互发短信时出现乱码的问题,
提高了短信的容错性。
[0068] 本发明实施例还提供一种用户终端,如图3所示,包括:
[0069] 获取单元31,用于获取有效字符集或无效字符集;
[0070] 解码单元32,用于使用不同解码方式对短信进行解码,得到解码内容;
[0071] 比较单元33,用于根据有效字符集或无效字符集,比较解码单元32使用不同解码方式对短信进行解码得到的解码内容;
[0072] 选择单元34,用于根据比较单元33的比较结果选择具有最佳解码结果的解码内容作为短信的解码结果并输出。
[0073] 具体的,该解码单元32还用于:
[0074] 首先按照默认的解码方式对短信进行解码;上述默认的解码方式获得的解码结果中的字符全部属于有效字符时,直接作为最终结果输出,否则作为解码内容保留并使用其
他不同解码方式对短信进行解码。
[0075] 具体的,该解码单元32使用的解码方式包括但不限于:
[0076] 上述短信内容数据首字节小于32时,使用7bitASCII编码方式以及UCS2编码方式进行解码,分别得到解码内容;
[0077] 上述短信内容数据首字节不小于32时,使用UCS2编码方式进行解码,得到解码内容。
[0078] 具体的,选择单元34具体用于:
[0079] 选择无效字符最少的解码内容作为上述短信的解码结果并输出;
[0080] 对于无效字符数相同的多个解码内容,选择有效字符最多的解码内容作为上述短信的解码结果并输出;
[0081] 对于无效字符数和有效字符数都相同的多个解码内容,根据解码顺序,将最先获得的解码内容作为最终的解码结果并输出。
[0082] 另外,该用户终端还包括:
[0083] 输出单元35,用于对选择单元34输出的解码结果中的无效字符进行可视化处理或不进行显示。
[0084] 通过本发明实施例提供的用户终端,对于接收到的短信使用不同解码方式对短信进行解码,并根据有效字符集或无效字符集对各解码内容进行比较,选择具有最佳解码结
果的解码内容作为解码结果。从而避免在不同网络中的用户终端互发短信时出现乱码的问
题,提高了短信的容错性。
[0085] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,
本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性
存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备
(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0086] 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。