如何写论文?写好论文?免费论文网提供各类免费论文写作素材!
当前位置:免费论文网 > 范文百科 > 短信格式

短信格式

来源:免费论文网 | 时间:2016-09-06 15:02:31 | 移动端:短信格式

篇一:短信格式

短信格式

通知: 【温馨提示:xx期“健康奇迹 重生之旅”x月x日将于x省x市xx大酒店开课,报到时间为2011年xx-xx,请提前一天到达酒店以便安排住宿,咨询电话400-0532-991 青岛乐生客服小栗祝您健康每一天!】

养生知识: 【温馨提示:枸杞含有胡萝卜素、维生素A等多种营养成分,能够平补肝脏,有明目作用。常用电脑的人,每天泡点枸杞喝,对保护眼睛很有好处。要记住哦!青岛乐生客服小栗!】

【放弃健康获取财富时,命可以换钱,不惜财富换取健康时,钱换不了命! 年轻时若放弃健康获取财富,年老时会放弃财富恢复健康,流失岁月无法追回,金山银山也换不来健康!青岛乐生客服小栗!】

食谱: 【温馨提示:豆腐:豆腐的蛋白质含量丰富,而且豆腐蛋白属完全蛋白,不仅含有人体必需的八种氨基酸,而且比例也接近人体需要,营养价值较高;有降低血脂,保护血管细胞,预防心血管疾病的作用。此外,豆腐对病后调养、减肥、细腻肌肤亦很有好处,豆腐不宜与菠菜、香葱一起烹调,会生成容易形成结石的草酸钙;豆腐忌于蜂蜜、茭白、竹笋、猪肝同食。青岛乐生客服小栗!】

个性:

【香蕉皮中含有蕉皮素,抹在患处可医治由真菌和细菌感染取站位或坐位,头颈用劲后神,双手交叉用劲阻之,颈臂持续用劲对抗片刻后放松还原,共做6-8次。可缓解久坐办公室人群的颈椎不适应症状。青岛乐生客服小栗!】

【红薯中含有大量的膳食纤维,能刺激肠道,从而增强肠道的蠕动。因此,每天吃适量红薯,可有效缓解便秘。青岛乐生客服小栗!】

节日祝福:【祝你在新年里:事业如日中天,心情阳光灿烂,工资地覆天翻,未来风光无限,爱情浪漫依然,快乐游戏人间】

篇二:接收和发送的短信的格式

短信格式(sms)以及编码总结

短信开发指通过串口 at 命令驱动短信猫进行短信发送和接收操作。

AT 命令 :AT命令是驱动短信设备的标准工业命令,除了业界的标准之外,每个厂商

可能会对其进行扩展,不过一般来说,标准命令应该够用,我在这里用的是西门子 MC39i ,有专门的 AT 命令文档。

一、短信猫操作分为三种模式: Block、Pdu 和 Text

1、Block 模式基本已经被 Pdu 模式取代,没有具体研究。

2、Text 模式比较简单,但是支持的设备不是很全,而且不能实现中文。

AT + CGMF=1<CR>

AT + CGMS= “ 13612344321 ” ,129<CR> >Hello World!<^Z>

3、Pdu 模式

Pdu 编码主要包括两个主要的部分,一是 pdu 串的整体数据格式,分别因为发送信息串和接收信息串而有区别,二是 pdu 中文本部分的编码,分别因为字符集而不同。

我们也可以这样来理解这个 pdu 编码的格式, sms 相当于一个协议栈,最简单的协议栈:

根据 gsm03.40 规范, sms 协议包括以下几层: 1、 SM-AL :应用层。这个部分就是数据部分。

2、 SM-TL :传输层。我们可以清楚的看到这里描述了主要的短信内容,包括发送号码,接收号码,信息类型,编码,数据报长度等等,这也是我们编程主要要面对的问题。

3、 SM-RL :中继层。这个指的是短信在网关之间中继需要的协议。 4、 SM-LL:链路层。

从上述描述中我们可以清楚的看到,我们编程主要集中于传输层。

二、短信传送有三种编码: 7 位, 8 位, UniCode

1、英文 7 位编码

这是 gsm 的默认编码方式

由于这样的移位,我们可以看到我们能发的最多英文字符等于: 140*8/7 = 160 。 2、数据 8 位编码

8-bit 编码通常用于发送数据消息,比如图片和铃声等;

3、中文 pdu 编码

发送中文时,必须用 UCS2 ( utf-16 )进行编码,最多可以发 140/2 = 70 个汉字。 UniCode 编码转换也比较简单,以中文为例,一个中文字符是两个字节,直接对高位字节和低位字节进行十六进制转换就可以了。如“欢迎”, UniCode 编码是 6B22 8FCE ,

这同时也就是转换的结果,如果发送的串中有英文字符,那么在前面补全 00 ,以保证一个字符对应两个字节。

篇三:中文短信格式解析

短信格式解析

2010年04月26日 星期一 16:17

最近重整一个兄弟的代码,把短信重新分析了一次。以防以后忘了现在就记下来。网上有些格式解析下面这个E文的比较专业

/sms/,不过看了怪费劲的。以下是我重整理的。 1.短信格式的编码主要是有两种一个是text格式的,明文不用解码一看就懂,一个是PDU格式的,国内的都是的PDU格式的。以下分析的都是PDU格式数据包。 2.PDU格式的数据包,发送的数据包和接收的数据包数据段是不一样的。相同是一,他们都是把数据变成字符0123456789ABCDEF。二,都是2个字符算一个数,除了电码号码其的数都是16进制的。

3.接收数据包,内容为:“123,测试,test。”,来自电话号18701634332 串口AT回复: +CMTI: "MT",37

再发送指令 读取短信 AT+CMGR=37 串口AT回复: +CMGR: 0,,51

0891683108100005F0040D91688107614333F200080140821154442318003100320033002C6D4B8BD5002C00740065007300743002 OK

中间蓝色的就是接收的数据包了。

3.发送PDU格式消息

例如:向手机18701634332 发送 内容为:“123,测试,test。”的短信 首先发送AT指令 AT+CMGS=38 串口AT回复: >

发送以下ASCII字符串就是PDU格式的短信数据包

0031000BA18107614333F20008A718003100320033002C6D4B8BD5002C00740065007300743002 再发送

0x1a(Ctrl-z的ASCII码,这个也可以和上面的数据写在一起发送) 串口AT回复: +CMGS: 221 OK

注意:

1.在写发送指令的时候38就是PDU包除了SMSC段之后的长度是38*2=76个ASCII字符

AT+CMGS=38//表示后面有76个ASCII字符

2.这里的38就是不包含前面的上表中黄色的00这两个字符。

3.超长短信

本来超长短信是有规定格式的,不过在中国短信延时比较严重,显得没有什么意义了。超长短信的也是符合上面的格式的,只是要短信的内容段加了固定的头。表示这是条超长短信.

("050003") // 6-bit codec header ("060804") // 7-bit codec header

以下是的代码是直接将超长短信分为两条短信,没有做结合。在西门子MC75i上测试过

/************************************************ * 文件名称:SMS.cpp

* 摘 要:用于短信数据的编解码 * 当前版本:v1.0

* 作 者:胡丰凯 [email protected] * 创建日期:2010年4月21日 * 修改纪录: * *

************************************************/

//---------------------------------------------------------------------------

//--Include file #include "sms.h" #include "Debug.h"

#define LONG_SMS_HEAD_6BIT ("050003") // 6-bit codec header #define LONG_SMS_HEAD_7BIT ("060804") // 7-bit codec header

//---------------------------------------------------------------------------

//--静态函数

static bool ReadByte(string& s_buf,int start_pos,unsigned char &out); static bool ReadString(string& s_buf,int start_pos,int len ,string &out); static bool Gsm7bitDecoding(string& s_context); static bool Gsm8bitDecoding(string& s_context); static bool TimeDecode(string & s_in);

static bool UCS2Decoding(string& s_context);

static bool UCS2Encoding(string& s_context_out,wstring& s_context_in); static void ByteToString(int i_value,char *buffer,int buf_len);

//--------------------------------------------------------------------------- //--函数 /*++

isLongSms

判断是否是长短信 参数:

const char * pUD: 短信头地址 返回: 短信头 没有为0 --*/

static int isLongSms(const char * pUD) {

int ret;

if (0==strncmp(LONG_SMS_HEAD_6BIT, pUD, strlen(LONG_SMS_HEAD_6BIT))) {

ret = 6 * 2; }

else if (0==strncmp(LONG_SMS_HEAD_7BIT, pUD, strlen(LONG_SMS_HEAD_7BIT))) {

ret = 7 * 2; }

else {

ret = 0; }

return ret; } /*++

ReadByte

读16进制的数据 参数:

[IN]string& s_buf 输入缓冲

[IN]int start_pos 读字节启始位置 [OUT]unsigned char &out 输出 返回:

成功为TRUE否则false --*/


短信格式》由:免费论文网互联网用户整理提供;
链接地址:http://www.csmayi.cn/show/37293.html
转载请保留,谢谢!
相关文章