问个发送短信的问题

imho888 2010-05-06 03:17:59
有一个短信猫
一般短信都是不能超过70个汉字的

如果超过70个汉字就必需分两条发送

问题是如何编写短信才能让接收的手机自动组合这两条短信?

非常感谢.
...全文
143 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
亮剑_ 2010-05-10
  • 打赏
  • 举报
回复
学习一下
原来协议里有定义的,但也有一些手机不支持“超长短信”,也就是把两条以上的短信拼起来
diecode 2010-05-10
  • 打赏
  • 举报
回复
学习
回复内容太短了!
imho888 2010-05-06
  • 打赏
  • 举报
回复
已经找到了


GSM 03.40规范(TP-06 1999-12-15 7.4.0)中规定了SME对于超长短信的合并处理,当前绝大部分GSM手机都支持超长短信.

超长短信编码:首先把TP_udhi的值设置设置为1,在消息正文中增加协议头,基本上所有特殊短信这样设置它为1

接着在每条超长短信分割而成的短信中增加协议头,协议头分两种,分别是长度为6和长度为7的协议头。格式如下:
6位协议头格式:05 00 03 XX MM NN
byte 1 : 05, 表示剩余协议头的长度
byte 2 : 00, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为1(格式中的XX值)。
byte 3 : 03, 这个值表示剩下短信标识的长度
byte 4 : XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。
byte 5 : MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。
byte 6 : NN, 这批短信的数量。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。
例如:05 00 03 39 02 01
7位的协议头格式:06 08 04 XX XX MM NN
byte 1 : 06, 表示剩余协议头的长度
byte 2 : 08, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为2(格式中的XX值)。
byte 3 : 04, 这个值表示剩下短信标识的长度
byte 4-5 : XX XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。
byte 6 : MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。
byte 7 : NN, 这批短信的数量。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。
例如:06 08 04 00 39 02 01

因为一般一个BYTE计算超长短信的标志即可,一般编码使用6位协议头
imho888 2010-05-06
  • 打赏
  • 举报
回复
这个我知道,但是不知道怎么编写短信内容才能让手机自动组合
bdmh 2010-05-06
  • 打赏
  • 举报
回复
我不懂,感觉这个应该是手机本身的功能吧,有的手机是组合不到一起的

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧