- 积分
- 39
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
楼主 |
发表于 2005-10-18 18:19:56
|
显示全部楼层
原帖由 david_lyx 于 2005-10-15 23:06 发表
楼主可不可以放出三种文件的格式说明阿?偶对这个比较感兴趣。
可以的,格式如下:
1-5字节:0b 0b 00 00 00(这是短信格式字符,某些短信的格式识别字符是再加上11个或12个字节.)
6字节:短信类型
7字节:信息中心号码长度(以字节计算)
8~X:信息中心号码,为bcd格式,前后两个数字要颠倒,如13,在里面是 0x31
X+1字节:不知道意义(SMI);X+1~X+2字节:不知道意义(SMO)
X+3字节:发送方(接收方)电话长度(以字符计,如1380000的值为7)(SMI);X+4字节:(SMO)
NEXT字节:00 08 表示内容是中文(UNICODE编码格式,只是UNICODE值的高低两个字节交换位置
00 04 表示内容是正常UNICODE编码格式
00 00 表示是英文编码格式,由于英文字符的值都小于128,因此是用7BIT表示一个字符,7个字节表示8个字符,读取和编码都要用位操作.
NEXT字节:接收时间(SMI有,SMO没有)如05-07-24 23:37:14,表示为(16进制)50 70 42 32 73 41
NEXT字节:值一般为20 不知是何意义(SMI有,SMO没有)
NEXT字节:值不定,不知是何意义(SMO有,SMI没有)
NEXT字节:信息长度,以字节计.
NEXT字节:5或6字节,短信息分段信息(超长短信才会有)
SML文件里则基本上保持了SMO和SMI的原有信息,只是加入了信息计数长度之类的信息,用ULTRAEDIT很容易识别的.
仔细查看源代码中的FUNCTION SMIREAD 和SMLREAD就可以了解这三种文件的结构了.其中SMIREAD是最主要的功能.
暂时先写这么多,不足之处请大家指正.
[ 本帖最后由 lyz214 于 2005-10-18 18:33 编辑 ] |
|