小白刚开始工作,需要做支持cmda短信的收发,于是忙碌的时间开始 了。小白在网络上辗转搜索,找到了一个讲的很好的 cmda pdu 解码的博客
http://blog.youkuaiyun.com/mcu_hong/article/details/7625478 这里非常感谢,博客主人的分享,但是,博客主人写的东西并没有涵盖完全,
只是将到了普通短信和中文编码的部分,并没有对 长短信 和英文编码 做过多的讲解。
因此,本编文章主要讲解 长短信 与 普通短信的区别,7bit 编码时的注意事项。
在您阅读本文之前, 请务必阅读 上文。这是文中提到的 http://www.3gpp2.com/Public_html/specs/C.S0015-A_v1.0_111403.pdf 3gpp2对cdma短信的有关标准。
对于短信, 我们关注的主要是两个东西, 发送地址(谁发的,发给谁的),消息内容(文本是什么)。
我用手机发送了一个串 hello , 这是截取的PDU, 下面我先对这个PDU, 进行分析。
0000021002020702c6049064c4d40601fc081b00031000200106102e8cbb366f03061409011126310a01400d0101
以上遵循CDMA 的 PDU格式
所有的 PARAMETER_ID 在下表中标示
按照 文档 中提供的格式,我们以此解析, 参见文档 C.S0015-A_v1.0_111403.pdf P49
1、 00 SMS_MSG_TYPE :
00 表示 SMS Point-to-Point 点对点传输
2、 00021002 Teleservice Identifier
The Teleservice Identifier parameter identifies which upper layer service access point is sending or should receive this message
00 = PARAMETER_ID , 02 = PARAMETER_LEN, 1002 = Parameter
3、 020702c6049064c4d4 Address Parameters
The address parameters have the following variable-length format: