短信息字符串截取方法

文档序号:7612033阅读:268来源:国知局
专利名称:短信息字符串截取方法
技术领域
本发明是关于一种短信息字符串截取方法,特别是指一种针对短信息字符串进行字符串分析处理,以配合短信息服务的最佳的发送字符串长度,确保每则短信息都能最有效的利用到短信息传送字数的最大承载能力的方法。
背景技术
SMS(Short Message Service)短信息服务是现今无线通讯技术上最为普遍的应用,它的特点包括使用简单、可一次大量发送信息给多人、比电话沟通快速清楚、费用更便宜、信息可清楚传递等优点,因此很受到需要该类工具的大企业及依靠传送短信息来推广业务的公司行号青睐,特别是对于公司员工人数多达数百人又常常无法在固定工作场所工作的大企业员工而言,能利用随身所配带的手机或具有可接收短信息功能的任何接收装置来做为接收公司传达指令的工具,其重要性及便利性更是可想而知。
现今短信息内文的传送格式,碍于其既有传输协议格式(Protocol)及系统业者的限制之下,因此存在有字符串传送字数及字符串字形处理上的规范及限定,一般而言如果要传送的短信息字符串全为半型字的内容,如英文字、数字、半角标点符号等,则每则短信息所能搭载的最大能力为160个半角字(包含英文、数字、半角标点符号等);但是,如果短信息字符串是在纯全角字的资料形式下,则每则短信息所能搭载的最大能力为70个全角字(包含中文、全角标点符号等),因为系统是将中文的资料以全角字来处理,以上观念和现有的计算机处理字形的原则相同。
但是,如果该短信息字符串为中英文混合的资料形式之下呢?此一情形也可说是,如果短信息字符串是全角字和半角字混合的状况之下呢?此类短信息字符串应用的模式也是日常生活上最普遍的情形,如前述,碍于既有传输协议格式(Protocol)及系统业者的限制之下,只要短信息字符串有包含一个以上的全角字(包含中文、全角标点符号等),则系统将自动以全角字的处理模式来处理待传送的短信息,亦即,每则短信息所能搭载的最大半角字字数量将减少一半,另一个说法即是说只要短信息字符串有包含一个全角字形,则全体短信息内文的长度将因此而拉长,此一情况将造成若欲传送的资料量大于上述的单一短信息字符串传送长度限制时,则系统将自动以下一则短信息继续传送未送完成的短信息,如下一则短信息仍无法传完剩余的短信息内容,则系统将自动再以下一则短信息继续传送,以此类推。
以下以一实际的例子来进一步说明现有方法的缺点,假设今有一则200字的短信息字符串欲以短信息服务来传送,依现有系统的处理方式将有以下不同的结果一、如果短信息字符串为纯半角字形内容,如英文、数字及半角符号所组成,则最终传到短信息接收者中将会有200/160=2则短信息。
二、如果短信息字符串为纯全角字形内容,如中文、全角标点符号等,则最终传到短信息接收者中将会有200/70=3则短信息。
三、如果短信息字符串为非纯半角字型或非纯全角字型者,亦即为全角字和半角字混合的情形之下,如前述,因短信息服务系统在此一情形之下会将全部的短信息字符串以全角字形的方式来处理该待传短信息的全部内容,因此,最终传到短信息接收者中的短信息则数也将会有200/70=3则。
因此,在上述第三种情况之下,若短信息字符串中带有一个或一个以上的全角字时,则现有的短信息系统必须为了这个少量的全角字再多发一则短信息才能将短信息内文发送完毕,如果此一情形是发生在拥有数百名员工的大企业内,则多一则短信息的费用,以乘积效应来计算的话,则将会再增加数百则短信息的发送时间及发送费用,如此一来,对企业将造成成本的增加及资源的浪费,对接收者而言也相对会造成读取上的困扰,若欲以一则短信息来携带信息给使用者,则在上述的第一种情况还可以达到短信息服务的最大承载能力,但如果在第二或第三种情况时,则短信息服务的承载能力将会降低成70个字,如果该中文只出现一次或是比例极低的状况下,则投资报酬率就相对不符成本,这些都是现有技术限制下的缺失。
因此,如何有效的将短信息字符串在交付系统业者传送之前先对短信息字符串所包含的不同字形做有效的分析处理并加以截取,以达到每则短信息都能应用到短信息服务的最大承载能力是为本发明的最重要课题。

发明内容
有鉴于此,本发明是针对上述现有的问题提出有效的解决方法,不仅可以有效改善现有系统的缺点,又可达到增进现有技术的功效。
本发明的主要目的,在于提供一种短信息字符串截取方法,主要是将要发送的短信息字符串在传送给电信系统业者发送之前先对短信息字符串进行分析,以截取每则短信息最佳的发送长度字符串,以确保每则短信息都能最有效的利用到短信息传送字数的最大承载能力,以有效减少大量传送短信息的次数,进而节省因大量传送短信息所产生的相关费用及时间。
为达上述的目的及优点,本发明的一种短信息字符串截取方法,首先接收欲传送短信息的字符串;之后,判断该字符串是否含至少一全角字,否时,依序截取该字符串的多个半角字为一则短信息字符串,截取字数为一则短信息可最大容载半角字的字数;接着,取得该字符串首次出现该全角字的位置;然后,判断该全角字位置是否位于一第一截取区间,否时,依序截取字符串的多个字为一则短信息字符串,截取字数为一则短信息可最大容载全角字的字数;最后,截取首次出现该全角字前的多个半角字为一则短信息字符串,截取最大字数为一则短信息可最大容载半角字的字数。


图1为本发明实施例的系统架构方块图。
图2A为本发明实施例的流程图。
图2B与图2C是图2A欲截取的短信息字符串的示意图。
图3为本发明另一实施例的流程图。
图4A为本发明又一实施例的流程图。
图4B至图4D为图4A欲截取的短信息字符串的示意图。
符号说明10 短信息字符串扫描模块 11 全角字位置定位模块12 字符串分析模块13 字符串重组模块
14 短信息编码模块15 短信息传送模块具体实施方式
为使审查委员对本发明的方法及所达成的功效有更进一步的了解,谨佐以较佳的实施例及配合详细的说明,说明如下请参阅图1所示,为本发明短信息字符串截取方法应用的短信息发送服务的系统架构图,该系统包含有六个基本模块,一短信息字符串扫描模块10、一全角字位置定位模块11、一字符串分析模块12、一字符串重组模块13、一短信息编码模块14及一短信息传送模块15;短信息字符串扫描模块10,接收欲发送的短信息字符串作初步的分析,包含短信息字符串的长度以及编码方式;之后,全角字位置定位模块11利用ASCII字码转换,将短信息字符串转换为ASCII码,利用ASCII码于(0u0000-0u007f)之间为半角字,如英文、数字、半角标点符号等,以外即为全角字,如中文字或全角标点符号等字码特性,进而可以找出短信息字符串中全角字出现的位置,以做为后续处理的依据。
然后,字符串分析模块12依照前述全角字位置定位模块11的分析结果,开始依照本发明的分析流程进行字符串的截取;接着,藉由字符串重组模块13进行传送短信息的信息重组,例如短信息编码格式、短信息长度、短信息传送方式、接收信息的号码等信息,并加入于截取后的发送短信息字符串前,成为短信息传送格式,以提供给短信息发送系统发送,短信息发送系统于接收到上述重组后的短信息的信息后,藉由短信息编码模块14依照指定的编码方式进行转码;最后,藉由短信息传送模块15将上述处理好的信息传送至欲发送号码的接收装置中。
请参阅图2A所示,为本发明短信息字符串截取方法的实施例一的流程图,本发明方法主要是进行前述短信息发送系统架构中的短信息字符串扫描模块10、全角字位置定位模块11及字符串分析模块12,至于后续处理的字符串重组模块13、短信息编码模块14及短信息传送模块15则为短信息发送系统进行。
本实施例一主要以循序的方式判断短信息字符串中全角字的位置,以做为短信息字符串截字长度的依据,一旦完成截取一则短信息字符串之后,即重新再分析剩余未分析截取的字符串,待所有的短信息字符串都处理完毕之后,将储存在缓存器内的所有截取字符串分别传送给后续的字符串重组模块13、短信息编码模块14及短信息传送模块15,则每一截取字符串都会成为一则短信息的传送内容,如此一来,经过本发明流程处理过后的短信息字符串全文就会以最有效率的方式传送出去。
本发明的方法,首先,如步骤S21所示,接收欲传送的短信息字符串,进行分析以截取成适当长度的短信息字符串,为每则发送短信息的内容;之后,因为现今的一则短信息最多能容载160个字,且必需皆为半角字才可,如有全角字就仅能有容载70个字,所以如接收的未处理的字符串超过160个字就先截取160个字为一段字符串,进行分析,故如步骤S22所示,判断所接收未处理的字符串的字数是否小于等于一则半角字短信息最大容载字数的160个字,如否,即代表欲传送未处理分析的短信息字符串的字数大于160个字,故执行步骤S221,截取所接收未处理的字符串的前160个字为进行后续分析的字符串。
如果,上述步骤S22,判断所接收未处理的字符串的字数小于160个字,即执行步骤S23,进一步判断字符串是否大于一则全角字短信息最大容载字数的70个字,如果所接收未处理的字符串的字数不到70个字,即可进行步骤S231,直接截取字符串的所有字为一则短信息字符串,且执行步骤S29,储存所截取的字符串,如果,步骤S23,判断所接收未处理的字符串的字数大于70个字,则必须进行后续的分析步骤。
接续,如步骤S24所示,转换字符串编码格式为ASCII字码,以进行步骤S25,判断字符串是否含全角字,其系利用ASCII码于(0u0000-0u007f)之间为半角字,以外即为全角字,以检测出字符串中的字是否含全角字,如字符串中无全角字,即可进行步骤S231,直接截取字符串的所有字为一则短信息字符串,且执行步骤S29,储存所截取的字符串,如步骤S25,判断字符串中包含有全角字时;接着,如步骤S26所示,更进一步取得字符串中首次出现全角字的位置。
接着,进行步骤S27,判断字符串中首次出现全角字位置是否位于一截取区间,截取区间为字符串的第71字和第160字间,即首次出现的全角字是否为第71字和第160字间的字,包含第71字和第160字;如否,即如图2B所示,则执行步骤S271,截取字符串前70字为一则短信息字符串,且执行步骤S29,储存所截取的字符串;如步骤S27,判断字符串中首次出现全角字的位置位于截取区间内,即如图2C所示的情形,此时进行步骤S28,截取字符串首次出现全角字前的半角字为一则短信息字符串,且执行步骤S29,储存截取的字符串;最后,进行步骤S210,判断是否还有未处理字符串,如是,则回到步骤S21,从前一次步骤S28或步骤S271截取字符串剩余的字继续处理;如否,则如步骤S211所示,结束字符串截取。
其中,上述的步骤S22至步骤S23,可不需进行,即进行完步骤S21后,直接进行步骤S24,转换字符串编码格式为ASCII字码,而于步骤S25中,判断字符串是否含全角字时,如字符串没有全角字且字符串大于160字时,系依序截取字符串前160字为一则短信息字符串并执行步骤S29。
请参阅图3所示,为本发明的短信息字符串截取方法实施例二的流程图,此实施例与实施例一主要的不同点在于步骤S32与步骤S33,一开始判断未处理短信息字符串长度的顺序和实施例的S22与步骤S23相反,其余步骤皆相同,如此一来可更快速的决定是否先处理少于70字的短信息字符串。
请参阅图4A所示,为本发明的短信息字符串截取方法实施例三,本实施例三与前述实施例一、实施例二不同之处在于本实施例是针对执行步骤S271与步骤S371截取后所剩余的字符串更进一步分析处理,当执行完步骤S271与步骤S371截取后所剩余的字符串还含有全角字时,可直接做分析处理而不必重新执行步骤S21与步骤S31等分析步骤,耗费时间;此外本实施例三亦于步骤S27与步骤S37后进一步分析全角字的位置,依据不同位置做不同处理,减少处理时间,提高处理效率。
本实施例三包含以下的流程步骤;首先,如步骤S41所示,接收欲传送的短信息字符串,接着执行步骤S42,判断未处理字符串的字数是否小于等于160个字,如否,则执行步骤S421,截取所接收未处理的字符串的前160个字为进行后续分析的字符串;接着,执行步骤S44,如步骤S42判断结果为是,则执行步骤S43,判断未处理字符串的字数是否大于70个字,如否,进行步骤S431,直接截取字符串的所有字为一则短信息字符串,且执行步骤S49,储存截取的字符串,如步骤S43判断未处里字符串的字数大于70个字,则接续进行步骤S44;其中,步骤S42与步骤S43可对调,如实施例二的步骤S32与步骤S33。
步骤S44,转换字符串编码格式为ASCII字码,以进一步如步骤S45所示,判断字符串中是否含全角字;如否,则进行步骤S431,直接截取字符串为一则短信息字符串并执行步骤S49,储存截取的字符串,如步骤S45判断字符串中含有全角字,则如步骤S46所示,进一步取得字符串首次出现全角字的位置;接着,进行步骤S47,判断字符串首次出现全角字的位置是否位于第一截取区间,第一截取区间为字符串的第71字和第160字间,包含第71字和第160字,如不在第一截取区间,即执行步骤S471,截取字符串前70个字为一则短信息字符串并执行步骤S49,储存截取的字符串。
接续,执行步骤S472,判断截取后的剩余字符串是否含全角字,如否,则因为剩余的字数剩余90个字并且皆为半角字,如作为一则短信息字符串,则浪费70个字的容载,所以如步骤S410所示,判断是否有尚未处理的字符串,将剩余的字并回未处里的字符串,重新进行处理;如果步骤S472,判断截取后之剩余字符串含有全角字时,则进行步骤S473,取得剩余字符串首次出现全角字的位置;接续,进行步骤S474,判断剩余字符串首次出现全角字的位置是否位于第二截取区间,第二截取区间为字符串的第141字和第160字间,即剩余字符串中首次出现的全角字是否为字符串的第141个字和第160字间的字,包含第141个字和第160字,如是,即如图4B所示的情形,则执行步骤S475,截取剩余字符串首次出现全角字前的半角字为一则短信息字符串,即截取图4B的第71个字至第144个字,且执行步骤S49,储存所截取的字符串。
如果步骤S474,判断全角字位置不在第二截取区间内,即为如图4C所示的情形,则接续执行步骤S476,截取剩余字符串前70个字为一则短信息字符串,即截取图4C的第71个字至第140个字并执行步骤S49,储存所截取的字符串。
上述步骤S471~S476为步骤S47判断字符串中首次出现全角字位置不在第一截取区间的处理步骤,当步骤S47判断字符串中首次出现全角字位置在第一截取区间时,如步骤S48所示,进一步判断字符串中首次出现全角字位置是否在第三截取区间,第三截取区间为字符串的第71字和第90字间,包含第71字和第90字,如否,即如图2B所示的情形,则执行步骤S481,截取字符串首次出现全角字前的半角字为一则短信息字符串并执行步骤S49,储存截取的字符串,步骤S48主要用意在于首次出现的全角字在第三区间时,如图4D所示的情形时,除了进行步骤S482外还可接续执行步骤S476,步骤S482同于步骤S481;最后,于进行完步骤S49,储存截取的字符串后,进行步骤S410,判断是否还有尚未处理的字符串,如是,则回到步骤S41,从前一次步骤S475或步骤S476或步骤S481截取字符串剩余的字接续处理。
综上所述,本发明的一种短信息字符串截取方法,可以对短信息字符串进行分析,以截取每一则短信息最佳的发送度的字符串,以确保每则短信息都能最有效的利用到短信息传送格式的最大承载能力,以有效减少大量传送短信息的次数,进而节省因大量传送短信息所产生的相关费用及时间。
以上所述,仅为本发明最佳具体实施例,本发明的技术特征并不局限于此,任何熟悉该项技艺者在本发明领域内,可轻易思及的变化或修饰,皆可涵盖在本案的专利范围。
权利要求
1.一种短信息字符串截取方法,其是分析欲传送短信息的字符串,截取为至少一则发送短信息字符串,包含下列步骤接收欲传送短信息的字符串;判断该字符串是否含至少一全角字,否时,依序截取该字符串的多个半角字为一则短信息字符串,截取字数为一则短信息可最大容载该半角字的字数;取得该字符串首次出现该全角字的位置;判断首次出现该全角字的位置是否位于一第一截取区间,否时,依序截取该字符串的多个字为一则短信息字符串,截取字数为一则短信息可最大容载全角字的字数;以及截取首次出现该全角字前的多个半角字为一则短信息字符串,截取最大字数为一则短信息可最大容载半角字的字数。
2.根据权利要求1所述的短信息字符串截取方法,其中于判断该字符串是否含至少一全角字的步骤前,更包含有一步骤,其是转换该字符串编码格式,以判断该字符串是否含该全角字。
3.根据权利要求2所述的短信息字符串截取方法,其中于转换该字符串编码格式的步骤中,是转换该字符串为ASCII字码。
4.根据权利要求1所述的短信息字符串截取方法,其中于接收欲传送短信息的字符串的步骤中,包括有下列步骤判断欲传送短信息的字符串的字数是否小于等于一则短信息可最大容载半角字的字数,否时,依序截取该字符串的多个字为适当长度的字符串,截取字数为一则短信息可最大容载半角字的字数,以接续分析截取为发送的短信息字符串;以及判断欲传送短信息的字符串的字数是否大于一则短信息可最大容载全角字的字数,否时,直接截取该字符串为一则短信息字符串,是时,即接续判断该字符串是否含至少一全角字。
5.根据权利要求1所述的短信息字符串截取方法,其中于接收欲传送短信息的字符串的步骤中,包括有下列步骤判断欲传送短信息的字符串的字数是否大于一则短信息可最大容载全角字的字数,否时,直接截取该字符串为一则短信息字符串;以及判断欲传送短信息的字符串的字数是否小于等于一则短信息可最大容载半角字的字数,否时,依序截取该字符串的多个字,为适当长度的字符串,截取字数为一则短信息可最大容载半角字的字数,以接续分析截取为发送的短信息字符串,是时,即接续判断该字符串是否含至少一全角字。
6.根据权利要求1所述的短信息字符串截取方法,其中于判断首次出现该全角字位置是否位于一第一截取区间的步骤中,是判断首次出现该全角字位置是否位于该字符串的第71字和第160字间,即首次出现该全角字是否为该字符串第71字和第160字间的字,包含第71字和第160字。
7.根据权利要求1所述的短信息字符串截取方法,其中判断首次出现该全角字位置是否位于一第一截取区间的步骤中,否时,依序截取该字符串的多个字为一则短信息字符串,截取字数为一则短信息可最大容载全角字的字数,在否时的步骤后,更包括有下列步骤判断截取后剩余的字符串是否含至少一全角字,否时,结束截取该字符串;取得截取后的该剩余字符串首次出现该全角字的位置;判断首次出现该全角字位置是否位于一第二截取区间,否时,依序截取该剩余字符串的多个字为一则短信息字符串,截取字数为一则短信息可最大容载全角字的字数;以及截取该剩余字符串首次出现该全角字前的多个半角字为一则短信息字符串,截取最大字数为一则短信息最大容载半角字的字数。
8.根据权利要求7所述的短信息字符串截取方法,其中于判断首次出现该全角字位置是否位于一第二截取区间的步骤中,是判断首次出现该全角字位置是否位于该字符串第141字和第160字间,即首次出现该全角字是否为该字符串第141字和第160字间的字,包含第141字和第160字。
9.根据权利要求1所述的短信息字符串截取方法,其中于判断首次出现该全角字位置是否位于一第一截取区间的步骤及截取首次出现该全角字前的多个半角字为一则短信息字符串的两步骤间,更包括有一步骤,其是判断首次出现该全角字位置是否位于一第三截取区间,否时,即截取首次出现该全角字前的多个半角字为一则短信息字符串,截取最大字数为一则短信息可最大容载半角字的字数,是时,即截取首次出现该全角字前的多个半角字为一则短信息字符串,截取最大字数为一则短信息可最大容载半角字的字数,且进一步依序截取该剩余字符串的多个字为另外一则短信息字符串,截取字数为一则短信息可最大容载全角字的字数。
10.根据权利要求9所述的短信息字符串截取方法,其中于判断首次出现该全角字位置是否位于一第三截取区间的步骤中,是判断首次出现该全角字位置是否位于该字符串第71字和第90字间,即首次出现该全角字是否为该字符串第71字和第90字间的字,包含第71字和第90字。
全文摘要
一种短信息字符串截取方法,该方法主要是将要发送的短信息字符串在传送给电信系统业者发送之前先对短信息字符串进行分析处理,以截取每则短信息最佳的发送长度字符串,以确保每则短信息都能最有效的利用到短信息传送字数的最大承载能力,以有效减少大量传送短信息的次数,进而节省因大量传送短信息所产生的相关费用及时间。
文档编号H04W4/14GK1825987SQ200510008468
公开日2006年8月30日 申请日期2005年2月21日 优先权日2005年2月21日
发明者陈有贤 申请人:宏碁股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1