CN102014352A - 一种短信编码格式的转换方法 - Google Patents
一种短信编码格式的转换方法 Download PDFInfo
- Publication number
- CN102014352A CN102014352A CN2010102580520A CN201010258052A CN102014352A CN 102014352 A CN102014352 A CN 102014352A CN 2010102580520 A CN2010102580520 A CN 2010102580520A CN 201010258052 A CN201010258052 A CN 201010258052A CN 102014352 A CN102014352 A CN 102014352A
- Authority
- CN
- China
- Prior art keywords
- note
- 8bit
- character
- spcial character
- coding function
- 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.)
- Granted
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明揭示了一种短信编码格式的转换方法,可以实现将包含特殊字符的短信从UCS2编码格式转变为7Bit编码格式。本发明提高了单条短信的容量,原本每条UCS2短信容量为70个字符,现在每条7Bit短信容量为160个字符,大大提高了短信容量。本发明还降低了短信的使用费用,包含100个特殊字符和英文字符的短信,使用UCS2编码格式发送需两条短信,使用本发明后,变为7Bit编码格式,只需一条短信,节约了发送费用。
Description
技术领域
本发明涉及短信编码领域,特别涉及一种短信编码格式的转换方法。
背景技术
短信编码格式有三种,分别是UCS2、7bit、8bit编码。其中UCS2编码格式下,每条短信最大字符数为70个;7bit编码格式下,每条短信的最大字符数为160个。
短信支持多种语言、多种字符的显示与编辑,其中包括部分特殊字符,一共有10个字符,有如下特征:值为0x03XX(XX表示某两个数字)、属于GSM字符集,比如:Φ、Γ、Λ等,这些字符的UCS 2编码值为0x03a6、0x0393、0x039b,这些字符值由于大于0xff,所以会被当作普通Unicode字符作处理,占2个字节。其所在的短信格式则被置为UCS2。
比如一段包含100个英文字母和3个特殊字符的文字,若是直接按照UCS2编码格式来发送,因为UCS2编码格式的短信,其最大长度是70个字符,因此这条短信就会被分为两条短信发送。而如果使用本文所述的编码格式转换算法,先将其转化为7Bit编码格式,然后再发送,则只需一条短信即可包含所有信息。这样可以提高单条短信的容量,节省发送短信的费用。
由以上可以看出,迫切需要提供一种短信编码格式的转换方法,其能扩大每条短信的容量,同时也节省发送短信的费用。
发明内容
本发明的目的是提供一种短信编码格式的转换方法,其能将含特殊字符的短信从UCS2编码格式转变为7Bit编码格式,扩大了每条短信的容量,也节省了发送短信的费用。
本发明提供一种短信编码格式的转换方法,适用于GSM字符集编码格式转换,包括以下步骤:
1.1、在短信应用层建立特殊字符UCS2与WT-8BIT对应表以及将特殊字符UCS 2编码为WT-8BIT格式的应用层编码函数;在短信接口层建立WT-8BIT与GSM对应表以及将WT-8BIT编码为GSM格式的接口层编码函数;
1.2、调用所述应用层编码函数,将短信中的特殊字符按照特殊字符UCS2与WT-8BIT对应表的对应规则编码为WT-8BIT格式,最后将编码格式置为7Bit;
1.3、调用所述接口层编码函数,将所述特殊字符按照WT-8BIT与GSM对应表的对应规则编码为GSM格式,并调用协议栈短信发送函数进行发送。
所述步骤1.2和步骤1.3进一步包括以下步骤:
2.1、定义一U16数组,用以存放短信中的英文字母和特殊字符;
2.2、解析输入的短信内容,若为中文字或者其他不在0x00-0xff之间的字符,则将其置为UCS2格式;若为英文字符、数字、特殊字符以及其他在0x00-0xff之间的字符,则转下步骤;
2.3、调用应用层编码函数,取所述U16数组中英文字母的低八位存到应用层编码函数中,将短信中的特殊字符根据特殊字符UCS2与WT-8BIT对应表的对应规则编码为WT-8BIT格式,并存到应用层编码函数中,并将编码格式置为7Bit格式。
2.4、在接口层中判断所述短信的编码格式,若为步骤2.2中置为的UCS2格式,则直接调用协议栈短信发送函数发送短信;若为步骤2.3中的7Bit格式,则转下步骤;
2.5、调用接口层编码函数,将步骤2.3输出的特殊字符根据WT-8BIT与GSM对应表的对应规则编码为GSM格式,调用协议栈短信发送函数发送短信。
所述应用层编码函数定义一个U8的数组u8StrArr[MAX_CHAR_NUM],用于存放编码后的英文字和特殊字符,其中U8为unsigned short int,MAX_CHAR_NUM=153*3。
所述步骤2.3中,调用应用层编码函数,取所述U16数组中英文字母的低八位存到应用层编码函数中的u8StrArr中,将短信中的特殊字符根据特殊字符UCS2与WT-8BIT对应表的对应规则编码为WT-8BIT格式,并存到应用层编码函数中的u8StrArr中,并将编码格式置为7Bit格式。
采用本发明所述的一种短信编码格式的转换方法,可以实现将包含特殊字符的短信从UCS2编码格式转变为7Bit编码格式。本发明提高了单条短信的容量,原本每条UCS2短信容量为70个字符,现在每条7Bit短信容量为160个字符,大大提高了短信容量。本发明还降低了短信的使用费用,包含100个特殊字符和英文字符的短信,使用UCS2编码格式发送需两条短信,使用本发明后,变为7Bit编码格式,只需一条短信,节约了发送费用。
附图说明
图1为本发明所述方法的主流程图。
具体实施方式
下面结合附图和实施例进一步说明本发明的技术方案。
首先要说明的是,本发明实施的前提条件是:首先,GSM字符集包含这些特殊字符。GSM字符集是短信协议规范定义的、使用7bit压缩格式的一个字符集,所有字符在这里均是用7位来表示,这样就可以实现使用140个字节的短信数据包来发送160个字符。这些特殊字符在GSM字符集中,均有一个7位的值来表示。因此我们才可以通过编码方式,把特殊户字符从0x03XX编码为GSM字符值;其次,短信中其他字符均在0x00-0xff之间。若超过这个范围,除了上述的特殊字符,其他字符还是作为unicode字符,因无法转换为对应的GSM字符,因此不适合本算法。
综上所述,当特殊字符属于GSM字符集,并且短信其他字符均是在0x00-0xff之间时,就可以使用本算法来将特殊字符编码,使包含其的短信由UCS2编码格式变为7Bit编码格式。
本实施例将介绍一条包含100个英文字和1个特殊字符(‘Δ’,UCS2:0x0394,GSM:0x10,WT-8BIT:0x10)短信的编码格式转换过程。
参见图1,本发明提供的一种短信编码格式的转换方法100,包括以下步骤:
101、建立特殊字符UCS2、WT-8BIT以及GSM之间的对应表以及编码函数。
在短信应用层建立特殊字符UCS2与WT-8BIT对应表以及将特殊字符UCS2编码为WT-8BIT格式的应用层编码函数(MMI层编码函数);在短信接口层建立WT-8BIT与GSM对应表以及将WT-8BIT编码为GSM格式的接口层编码函数(NAPI层编码函数)。在本实施例中,MMI层为短信的应用层,NAPI层为短信的应用层与底下的协议栈层之间的接口层,它负责将MMI层字符编码为协议栈层的字符,将协议栈层的字符解码为MMI层字符。相应的,应用层编码函数即为MMI层编码函数,接口层编码函数即为NAPI层编码函数,所述的编码函数在代码中体现为两个数组。
所述的特殊字符UCS2、WT-8BIT以及GSM之间的对应表见表1:
表1
GSM | UCS2 | WT-8BIT | Symbol |
0x10 | 0x0394 | 0x10 | Δ |
0x12 | 0x03a6 | 0x12 | Φ |
0x13 | 0x0393 | 0x13 | Γ |
0x14 | 0x039b | 0x14 | Λ |
0x15 | 0x03a9 | 0x15 | Ω |
0x16 | 0x03a0 | 0x16 | ∏ |
0x17 | 0x03a8 | 0x17 | Ψ |
0x18 | 0x03a3 | 0x18 | ∑ |
0x19 | 0x0398 | 0x19 | Θ |
0x1a | 0x039e | 0x1a | Ξ |
在MMI层的UCS2到WT-8BIT的MMI层编码函数中,定义一个U8的数组u8StrArr[MAX_CHAR_NUM],用于存放编码后的英文字和特殊字符,其中U8是unsigned short int,MAX_CHAR_NUM=153*3。
102、定义一个U16的数组:u16StrArr[MAX_CHAR_NUM],用于存放英文字和特殊字符,其中U16是unsignedint,MAX_CHAR_NUM=153*3。
103、解析输入的短信内容,若为第一预定字符则转下一步骤,否则将其置为UCS2格式。
使用for循环,从开始到最后一个字符,判断这条短信内容。若是含有中文字或者其他不在0x00-0xff之间的字符,则该条短信为UCS2编码格式,因此不需再对特殊字符进行编解码,将其编码格式置为UCS2。若只包含英文字符、数字、特殊字符以及其他在0x00-0xff之间的字符时,则转下一步骤。
104、调用MMI层编码函数,将短信中的特殊字符编码为WT-8BIT格式。
调用MMI层编码函数,取所述U16数组中英文字母的低八位存到MMI层编码函数中,将短信中的特殊字符根据特殊字符UCS2与WT-8BIT对应表的对应规则编码为WT-8BIT格式,并存到MMI层编码函数中,并将编码格式置为7Bit格式。
依次将U16的英文字,取其低八位存到u8StrArr[]。同时调用编码函数appSms DecodeUcs2ToWT(U16uniSym,U8*wtSym),将短信中的特殊字符编码为WT-8BIT编码格式,并存到u8StrArr[]中,最后将编码格式置为7Bit。其中编码函数appSmsDecodeUcs2ToWT(U16uniSym,U8*wtSym)的功能是将特殊字符,根据表1的对应规则,编码为WT-8BI T格式,uniSym为输入参数,特殊字符unicode值,wtSym为输出参数,为特殊字符的WT-8BIT编码格式的值。
105、在MMI层编码结束后,将编码后的短信输出至NAPI层进行处理。MMI层编码结束后,将u8StrArr作为函数输入参数,到NAPI层进行处理。
106、在NAPI层判断所述短信的编码格式,若为UCS2格式则直接调用协议栈短信发送函数发送短信,若为7Bit格式则转下步骤。
该步骤中,若所述短信的编码格式为步骤103中置为的UCS2格式,则直接调用协议栈短信发送函数发送短信;若为步骤104中的7Bit格式,则转下步骤。
107、调用NAPI层编码函数,将特殊字符编码为GSM格式并调用协议栈短信发送函数发送短信。
调用NAPI层编码函数napiSmsDecodeWTToGsm(U8wtSym,,U8*g smSym),将WT-8Bit格式的特殊字符编码GSM格式,其中函数napiSmsDecodeWTToGsm(U8wtSym,,U8*gsmSym)的功能是将特殊字符,根据表1的对应规则,编码为gsm格式,wtSym为输入参数,特殊字符WT-8BIT值,gsmSym为输出参数,为特殊字符的GSM编码格式的值。调用协议栈短信发送函数发送短信,因为短信内容为7bit编码格式,其每段最大字符数为160个,而当前短信内容为101个字符,故作为一条短信发送出去。
使用本发明后,可以实现两个目的:一是提高了单条短信的容量,原本每条UCS2短信容量为70个字符,现在每条7Bit短信容量为160个字符,大大提高了短信容量。二是降低了短信的使用费用。包含100个特殊字符和英文字符的短信,使用UCS2编码格式发送需两条短信,使用本发明后,变为7Bit编码格式,只需一条短信,节约了发送费用。
本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上实施例的变化、变型都将落在本发明的权利要求书范围内。
Claims (4)
1.一种短信编码格式的转换方法,适用于GSM字符集编码格式转换,其特征在于,包括以下步骤:
1.1、在短信应用层建立特殊字符UCS2与WT-8BIT对应表以及将特殊字符UCS2编码为WT-8BIT格式的应用层编码函数;在短信接口层建立WT-8BIT与GSM对应表以及将WT-8BIT编码为GSM格式的接口层编码函数;
1.2、调用所述应用层编码函数,将短信中的特殊字符按照特殊字符UCS2与WT-8BIT对应表的对应规则编码为WT-8BIT格式,最后将编码格式置为7Bit;
1.3、调用所述接口层编码函数,将所述特殊字符按照WT-8BIT与GSM对应表的对应规则编码为GSM格式,并调用协议栈短信发送函数进行发送。
2.如权利要求1所述的方法,其特征在于,所述步骤1.2和步骤1.3进一步包括以下步骤:
2.1、定义一U16数组,用以存放短信中的英文字母和特殊字符;
2.2、解析输入的短信内容,若为中文字或者其他不在0x00-0xff之间的字符,则将其置为UCS2格式;若为英文字符、数字、特殊字符以及其他在0x00-0xff之间的字符,则转下步骤;
2.3、调用应用层编码函数,取所述U16数组中英文字母的低八位存到应用层编码函数中,将短信中的特殊字符根据特殊字符UCS2与WT-8BIT对应表的对应规则编码为WT-8BIT格式,并存到应用层编码函数中,并将编码格式置为7Bit格式。
2.4、在接口层中判断所述短信的编码格式,若为步骤2.2中置为的UCS2格式,则直接调用协议栈短信发送函数发送短信;若为步骤2.3中的7Bit格式,则转下步骤;
2.5、调用接口层编码函数,将步骤2.3输出的特殊字符根据WT-8BIT与GSM对应表的对应规则编码为GSM格式,调用协议栈短信发送函数发送短信。
3.如权利要求2所述的方法,其特征在于,所述应用层编码函数定义一个U8的数组u8StrArr[MAX_CHAR_NUM],用于存放编码后的英文字和特殊字符,其中U8为unsigned short int,MAX_CHAR_NUM=153*3。
4.如权利要求3所述的方法,其特征在于,所述步骤2.3中,调用应用层编码函数,取所述U16数组中英文字母的低八位存到应用层编码函数中的u8StrArr中,将短信中的特殊字符根据特殊字符UCS 2与WT-8BIT对应表的对应规则编码为WT-8BIT格式,并存到应用层编码函数中的u8StrArr中,并将编码格式置为7Bit格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010258052.0A CN102014352B (zh) | 2010-08-19 | 2010-08-19 | 一种短信编码格式的转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010258052.0A CN102014352B (zh) | 2010-08-19 | 2010-08-19 | 一种短信编码格式的转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102014352A true CN102014352A (zh) | 2011-04-13 |
CN102014352B CN102014352B (zh) | 2016-03-23 |
Family
ID=43844329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010258052.0A Expired - Fee Related CN102014352B (zh) | 2010-08-19 | 2010-08-19 | 一种短信编码格式的转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102014352B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011144125A2 (zh) * | 2011-05-30 | 2011-11-24 | 华为终端有限公司 | 短信处理方法和设备 |
WO2015117407A1 (zh) * | 2014-08-26 | 2015-08-13 | 中兴通讯股份有限公司 | 终端信息的处理方法及装置 |
CN105634674A (zh) * | 2016-01-12 | 2016-06-01 | 青岛海信移动通信技术股份有限公司 | 一种短信处理的方法及装置 |
CN106454772A (zh) * | 2015-08-13 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 短信息的发送、接收方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1816170A (zh) * | 2005-11-08 | 2006-08-09 | 杭州华为三康技术有限公司 | 短信收发的编码转换方法及其应用的网络设备 |
CN101309483A (zh) * | 2008-05-29 | 2008-11-19 | 深圳华为通信技术有限公司 | 一种短信编、解码方法和终端 |
US20080287150A1 (en) * | 2007-04-16 | 2008-11-20 | John Yue Jun Jiang | Method and system for inserting advertisment content into a text message |
CN101350858A (zh) * | 2008-09-10 | 2009-01-21 | 深圳华为通信技术有限公司 | 一种短信解码的方法和用户终端 |
KR20090036027A (ko) * | 2007-10-08 | 2009-04-13 | 에스케이 텔레콤주식회사 | 메시지 상호 호환성을 제공하는 메시지 포맷 변경 방법 및그를 위한 메시지 서버 |
-
2010
- 2010-08-19 CN CN201010258052.0A patent/CN102014352B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1816170A (zh) * | 2005-11-08 | 2006-08-09 | 杭州华为三康技术有限公司 | 短信收发的编码转换方法及其应用的网络设备 |
US20080287150A1 (en) * | 2007-04-16 | 2008-11-20 | John Yue Jun Jiang | Method and system for inserting advertisment content into a text message |
KR20090036027A (ko) * | 2007-10-08 | 2009-04-13 | 에스케이 텔레콤주식회사 | 메시지 상호 호환성을 제공하는 메시지 포맷 변경 방법 및그를 위한 메시지 서버 |
CN101309483A (zh) * | 2008-05-29 | 2008-11-19 | 深圳华为通信技术有限公司 | 一种短信编、解码方法和终端 |
CN101350858A (zh) * | 2008-09-10 | 2009-01-21 | 深圳华为通信技术有限公司 | 一种短信解码的方法和用户终端 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011144125A2 (zh) * | 2011-05-30 | 2011-11-24 | 华为终端有限公司 | 短信处理方法和设备 |
CN102318379A (zh) * | 2011-05-30 | 2012-01-11 | 华为终端有限公司 | 短信处理方法和设备 |
WO2011144125A3 (zh) * | 2011-05-30 | 2012-05-03 | 华为终端有限公司 | 短信处理方法和设备 |
WO2015117407A1 (zh) * | 2014-08-26 | 2015-08-13 | 中兴通讯股份有限公司 | 终端信息的处理方法及装置 |
CN106454772A (zh) * | 2015-08-13 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 短信息的发送、接收方法及装置 |
CN105634674A (zh) * | 2016-01-12 | 2016-06-01 | 青岛海信移动通信技术股份有限公司 | 一种短信处理的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102014352B (zh) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1281090C (zh) | 实现手机终端之间手机通讯录互发的方法 | |
CN101350858B (zh) | 一种短信解码的方法和用户终端 | |
CN102014352A (zh) | 一种短信编码格式的转换方法 | |
CN101651731A (zh) | 一种通信录管理方法、系统及移动终端 | |
EP3108583A1 (en) | Devices and methods of source-encoding and decoding of data | |
CN102833411A (zh) | 基于双音多频的信息处理方法及系统、接收终端 | |
CN107561564A (zh) | 一种北斗卫星信息传输的压缩实现方法 | |
CN101631341A (zh) | 信息的识别方法及移动终端 | |
CN101118558A (zh) | 资源文件的转换方法及装置 | |
CN101493901B (zh) | 一种二维码数据压缩、解压缩方法及终端 | |
CN1301028C (zh) | 用于通过语音识别输入字符的移动通信终端及方法 | |
CN1848973B (zh) | 一种短消息群发的方法、终端及短消息中心 | |
CN1322401C (zh) | 通信终端设备,接收设备及其方法 | |
CN102014351A (zh) | 一种发送手机短信时加入联系人称呼的方法 | |
CN103647866A (zh) | 一种电话号码压缩存储及解压缩方法及存储系统 | |
CN101345952B (zh) | 客户身份识别卡的数据存储、读取方法、装置及系统 | |
CN111368508A (zh) | 数据处理方法、装置、设备及介质 | |
CN102073983B (zh) | Png图片资源优化处理方法及装置 | |
CN100444652C (zh) | 扩展短信容量的方法 | |
CN101754155A (zh) | 话单格式转换方法和装置以及话单处理方法和系统 | |
CN101686274A (zh) | 联系人查找系统及方法 | |
CN101179798A (zh) | 在手机之间传输数据的操作方法及装置 | |
CN101352015A (zh) | 通过sms协议传送手写体 | |
CN101099387B (zh) | 用于编码/解码轻便应用场景表示二进制表示的点序列的方法和装置 | |
CN107707329A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160323 Termination date: 20160819 |
|
CF01 | Termination of patent right due to non-payment of annual fee |