CN102014352B - 一种短信编码格式的转换方法 - Google Patents

一种短信编码格式的转换方法 Download PDF

Info

Publication number
CN102014352B
CN102014352B CN201010258052.0A CN201010258052A CN102014352B CN 102014352 B CN102014352 B CN 102014352B CN 201010258052 A CN201010258052 A CN 201010258052A CN 102014352 B CN102014352 B CN 102014352B
Authority
CN
China
Prior art keywords
note
8bit
ucs2
spcial character
coded format
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.)
Expired - Fee Related
Application number
CN201010258052.0A
Other languages
English (en)
Other versions
CN102014352A (zh
Inventor
张宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Wingtech Electronic Technology Co Ltd
Original Assignee
Shanghai Wingtech Electronic Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Wingtech Electronic Technology Co Ltd filed Critical Shanghai Wingtech Electronic Technology Co Ltd
Priority to CN201010258052.0A priority Critical patent/CN102014352B/zh
Publication of CN102014352A publication Critical patent/CN102014352A/zh
Application granted granted Critical
Publication of CN102014352B publication Critical patent/CN102014352B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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字符集,比如:Φ、Γ、Λ等,这些字符的UCS2编码值为0x03a6、0x0393、0x039b,这些字符值由于大于0xff,所以会被当作普通Unicode字符作处理,占2个字节。其所在的短信格式则被置为UCS2。
比如一段包含100个英文字母和3个特殊字符的文字,若是直接按照UCS2编码格式来发送,因为UCS2编码格式的短信,其最大长度是70个字符,因此这条短信就会被分为两条短信发送。而如果使用本文所述的编码格式转换算法,先将其转化为7Bit编码格式,然后再发送,则只需一条短信即可包含所有信息。这样可以提高单条短信的容量,节省发送短信的费用。
由以上可以看出,迫切需要提供一种短信编码格式的转换方法,其能扩大每条短信的容量,同时也节省发送短信的费用。
发明内容
本发明的目的是提供一种短信编码格式的转换方法,其能将含特殊字符的短信从UCS2编码格式转变为7Bit编码格式,扩大了每条短信的容量,也节省了发送短信的费用。
本发明提供一种短信编码格式的转换方法,适用于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格式,并调用协议栈短信发送函数进行发送。
所述步骤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为unsignedshortint,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是unsignedshortint,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[]。同时调用编码函数appSmsDecodeUcs2ToWT(U16uniSym,U8*wtSym),将短信中的特殊字符编码为WT-8BIT编码格式,并存到u8StrArr[]中,最后将编码格式置为7Bit。其中编码函数appSmsDecodeUcs2ToWT(U16uniSym,U8*wtSym)的功能是将特殊字符,根据表1的对应规则,编码为WT-8BIT格式,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*gsmSym),将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 (3)

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格式,并调用协议栈短信发送函数进行发送;
所述步骤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格式,调用协议栈短信发送函数发送短信。
2.如权利要求1所述的方法,其特征在于,所述应用层编码函数定义一个U8的数组u8StrArr[MAX_CHAR_NUM],用于存放编码后的英文字和特殊字符,其中U8为unsignedshortint,MAX_CHAR_NUM=153*3。
3.如权利要求2所述的方法,其特征在于,所述步骤2.3中,调用应用层编码函数,取所述U16数组中英文字母的低八位存到应用层编码函数中的u8StrArr中,将短信中的特殊字符根据特殊字符UCS2与WT-8BIT对应表的对应规则编码为WT-8BIT格式,并存到应用层编码函数中的u8StrArr中,并将编码格式置为7Bit格式。
CN201010258052.0A 2010-08-19 2010-08-19 一种短信编码格式的转换方法 Expired - Fee Related CN102014352B (zh)

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 CN102014352A (zh) 2011-04-13
CN102014352B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102318379B (zh) * 2011-05-30 2014-04-02 华为终端有限公司 短信处理方法和设备
CN105472107A (zh) * 2014-08-26 2016-04-06 中兴通讯股份有限公司 终端信息的处理方法及装置
CN106454772B (zh) * 2015-08-13 2019-11-26 阿里巴巴集团控股有限公司 短信息的发送、接收方法及装置
CN105634674A (zh) * 2016-01-12 2016-06-01 青岛海信移动通信技术股份有限公司 一种短信处理的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1816170A (zh) * 2005-11-08 2006-08-09 杭州华为三康技术有限公司 短信收发的编码转换方法及其应用的网络设备
CN101309483A (zh) * 2008-05-29 2008-11-19 深圳华为通信技术有限公司 一种短信编、解码方法和终端
CN101350858A (zh) * 2008-09-10 2009-01-21 深圳华为通信技术有限公司 一种短信解码的方法和用户终端
KR20090036027A (ko) * 2007-10-08 2009-04-13 에스케이 텔레콤주식회사 메시지 상호 호환성을 제공하는 메시지 포맷 변경 방법 및그를 위한 메시지 서버

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2149271B1 (en) * 2007-04-16 2011-06-08 Roamware, Inc. Insertion of advertisement content into a text message

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1816170A (zh) * 2005-11-08 2006-08-09 杭州华为三康技术有限公司 短信收发的编码转换方法及其应用的网络设备
KR20090036027A (ko) * 2007-10-08 2009-04-13 에스케이 텔레콤주식회사 메시지 상호 호환성을 제공하는 메시지 포맷 변경 방법 및그를 위한 메시지 서버
CN101309483A (zh) * 2008-05-29 2008-11-19 深圳华为通信技术有限公司 一种短信编、解码方法和终端
CN101350858A (zh) * 2008-09-10 2009-01-21 深圳华为通信技术有限公司 一种短信解码的方法和用户终端

Also Published As

Publication number Publication date
CN102014352A (zh) 2011-04-13

Similar Documents

Publication Publication Date Title
CN102014352B (zh) 一种短信编码格式的转换方法
CN101651731A (zh) 一种通信录管理方法、系统及移动终端
CN101631341A (zh) 信息的识别方法及移动终端
CN101350858B (zh) 一种短信解码的方法和用户终端
CN101600178A (zh) 垃圾信息确认方法和装置、终端
CN101118558B (zh) 资源文件的转换方法及装置
CN101188806A (zh) 短消息处理方法和移动终端
CN101345794A (zh) 一种短信发送方法及通讯终端
CN1929654A (zh) 移动通信用户身份识别卡信息直接交互方法及其支持设备
CN1301028C (zh) 用于通过语音识别输入字符的移动通信终端及方法
US9323822B2 (en) Data backup method and device for mobile terminal
CN101390410B (zh) 图标转换系统及其业务方法
CN1848973B (zh) 一种短消息群发的方法、终端及短消息中心
CN101621771B (zh) 短信编码处理方法、装置及系统
CN102547662A (zh) 在移动终端中存储订户信息的装置和方法
CN101815120A (zh) 一种在编辑界面添加收件人的方法、系统及移动通信终端
CN101686274B (zh) 联系人查找系统及方法
CN101754149B (zh) 输入长串数字的方法及移动终端
CN101588542A (zh) 消息处理方法及终端
CN101754155A (zh) 话单格式转换方法和装置以及话单处理方法和系统
CN102946592B (zh) 一种移动终端收发信息的方法及系统
CN102625264A (zh) 一种实现手机短信息动画效果的方法
CN102073983B (zh) Png图片资源优化处理方法及装置
CN103024148A (zh) 一种移动终端信息识别方法和系统
CN102104658A (zh) 一种利用sms短信发送表情的方法、系统及移动终端

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