怎样拦截短信信是哪一方设置,是接收方设置还是发送方设置?

SIM 808发送短信分text模式和PDU模式text模式已ascii碼发送短信,这种模式比较简单发送命令AT+CMGF=1就可以发送短信,而PDU模式比较复杂首先发送命令AT+CMGF=0,才能进行发送PDU短信这里主要讲解PDU的发送方式。

确保SIM模块初始化完成:

输入完短信内容后按组合键“ctrl+z”作为结束符“ctrl+z”在ascii码中的数值是“0x1a”,所以在编程时可以直接在信息内容后进荇字符串拼接。

我们先来看PDU发送短信的流程:

2)发送将发送的短信长度

我们把短信内容给分段,

绿色部分是号码中心段蓝色部分是发送号碼段,红色部分是发送信息段

4),先来看中心号码段

我们其实还可以将其再细分:

其中91是国际化的意思,这个作为前缀必须加上

F0是什麼意思呢?我们将它奇数位和偶数位反转看看:

是深圳地区的中心号码86是中国地区的前缀。F是因为在进行PDU编码的时候规定了如果号码位數是奇数位那么就要在末尾加F进行补齐由于我们国家的手机号码位数都是11位,因此要在末尾补F于是我们的中心号码加86补齐F再奇偶位反轉最后加91国际化前缀就由原来的:

接着我们数一下它有多少位,16位16/2=8,所以我们把整个中心号码组合编码后的长度除以2最后以十六进制嘚表示方式加在它的前端就大功告成了。

其中“1100”和“000800”分别是收信方号码段固定的前缀和后缀所以一定要记得加上。其中08两位表明了發送短信的编码方式如果为00是按7bit的编码发送短信英文字符数字常以这种方式发送;如果是04是按8bit的编码发送短信图片等一般以这种方式发送;如果是08则是以ucs2的编码方式发送中文都是以这种方式发送。

“F7”和中心号码段一样的编码方式原型是:

“0D91”需要注意一下,其中这里嘚“91”和中心号码段的“91”意义不一样了这里是表示接收方的设备是手机的意思,“81”则是小灵通“0D”是一个十六进制数,还原为十進制后是13什么意思呢?接受方的号码是“7”共13位

因此接收方电话经偶数位<补齐F>

然后<奇数偶数位反转>

最后<加上前后缀>最终由:

前面我们說过发送中文是以ucs2方式发送的,即unicode码发送把f52a8002e编码还原成GB码是“标签振动.”

其编码(十六进制)长度是20位,20/2=1010的十六进制表示方式是0X0A。因此信息段的最终编码为:

我们把上面的编码组合于是发送的内容为

我们把短信中心号码去除变为

计算一下字符串长度,50位OK,50/2=25于是在PDU模式下,我们所谓的“信息长度”:AT+CMGS=25

至此整个PDU发送短信完成

接收到的短信的解码和发送短信基本相同。我们先看一下两条接收到的短信編码

绿色部分为短信中心时间戳

蓝色部分为接发送的消息体长度.

// 十六进制数据映射表

// 十六进制字符转为数字

// 两个十六进制字符转为十进淛数据

pDst:编码后的目标指针

pSrc:编码前的ASCII字符串指针

返回:编码后的字符数据长度

将编码后的十六进制转为相应的字符串放到pDst中

// 移动8次后将產生一个空字符0x00,实为8个字节数据转为7字节数据

// 下次循环将重复前面过程

// 源字符串指针移向下一字符

pDst:解码后的ASCII字符串目标指针

返回:解碼后的ASCII字符串长度

}

【电薇同号135x】【诚.信.为.本】【质.量.保.证】【效.率.第.一】专注于: 说着赖胖子将手中的几个袋子放在了林逸面前的茶几上。众人听了林逸的话后顿时回过头去,果然在身后还有另外一个洞口,显然之前是进错了洞口了!其实唐韵心里面已经隐隐的猜到了些什么,难道林逸又要对赵奇兵做点儿什么吗?想想还真有可能!不然林逸怎么会不巧不巧的出现在这里呢?而宋凌珊又为什么会急着去见林逸?

所以孙静怡下意识的就把林逸的话当成了是吹牛。钟品亮决定了星期一早上上学,就去找邹若明商量一下这个事情当然,干掉林逸的事情他是不能透露的,只是说自己可以协助他做这件事情“谢少,听说女生上体育课在体育馆里穿的很少,还有露

}

我要回帖

更多关于 怎样拦截短信 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信