手机接收程序(50分)

  • 主题发起人 主题发起人 f19881021
  • 开始时间 开始时间
F

f19881021

Unregistered / Unconfirmed
GUEST, unregistred user!
手机接收公共号发过来的信息的编码格式是怎么样的,比如说1860发过来的信息,我怎么判断信息号和信息内容
 
PDU编码里有接收短信的编码方式及来信号码的长度,短信内容的长度。
把接收的PDU码解析好了就OK了。
参见:
http://easthero.blogdriver.com/easthero/
http://borland.mblogger.cn/shuixin13/posts/10087.aspx
http://www.host01.com/article/wap/wap004/
接收短信 PDU

0891683108200805F0040D91683188902848F4000850208151754500108FD9662F4E0067616D4B8BD577ED4FE1



短信中心地址字段
0891683108200805F0:+861380280500

FirstOctet


11&h=00010001&b


BIT No.
7
6
5
4
3
2
1
0

Name
TP-RP
TP-UDHI
TP-SPR
TP-VFP
TP-RD
TP-MTI

Value
0
0
0
1
0
0
0
1




应答路径—TP-RP(TP-Reply-Path):0—不设置; 1—设置


用户数据头标识—TP-UDHL(TP-User-Data-Header-Indicator):0—不含任何头信息; 1—含头信息


状态报告要求—TP-SPR(TP-Status-Report-Request):0—需要报告; 1—不需要报告


有效期格式—TP-VPF(TP-Validity-Period-Format):00—不提供(Not present); 10—整型(标准);
01—预留;11—提供8位字节的一半(Semi-Octet Represented)


拒绝复制—TP-RD(TP-Reject-Duplicates):0—接受复制; 1—拒绝复制


信息类型提示—TP-MTI(TP-Message-Type-Indicator):00—读出(Deliver); 01—提交(Submit)



发送方号码
0D91683188902848F4:+8613880982844

//-------这里的0D就表示发送短信的号码长度,十六进制,表示加上86共13位。

协议标识
00 TP-DCS 点对点

编码方式
08 TP-DCS Unicode编码
短信中心时间戳
50208151754500 TP-SCTS 字节反转05/02/18 15:57:45 最后的00代表时区,这里为0
用户数据长度
10 TP-DHL
用户数据
8FD9662F4E0067616D4B8BD577ED4FE1 TP-UD
中文"这是一条测试短信"的Unicode编码
//////////////////////////////////////////////////
网上有好多相关的资料,楼主可以搜索下
 
看看我的笔记
http://www.delphibbs.com/keylife/iblog_show.asp?xid=22411
完美的实现了编码和解码!
 
后退
顶部