请教各位大侠,我读出的短信怎么有的有时间信息,有的没有?发送当号码所处的位置也不一样。前面哪一位在确定是否有时间标记呢?如下:
1、0891 683110801305F0 21 FF 0B 81 3189039936F5 0008 42 621153D862104EE5524D7684624B673A53F778014E86002C4E0A73ED65F65FD84E86544A8BC94F60002C4ECA5929548C964680015E0851FA53BB73A94E86542700212、0891 683110801305F0 04 0D 91 683130366228F1 0008 40602202316200 66 8BF74F6095ED4E0A773CFF0C752879C09F3B548C6E055FC353BB611F89C94F607684546856F4FF0C4F60662F542695FB52304E004E1D4E1D6E0599A876847AF953F69999FF1F90A34FBF662F62114F206765768495EE5019FF1A7AEF534882825FEB4E50FF01

解决方案 »

  1.   

    http://www.knowsky.com/3195.html
    2.中文编码 
    参见表3,设短信息内容为“中文短信息”。中文短信息的实现较简单,只需将GB2312的中文编码转换为代码页为CP936的Unicode编码即可。 
    表3 中文编码的实现过程通过Delphi的WideString类型转换,可以巧妙地实现GB2312到Unicode的编码转换(注意代码页和操作系统相关联)。下面是实现中文编码的部分Delphi 5代码: 
    // 中文格式编码,s为Unicode String 
    function Encode2(var s:WideString):String; 
    var 
    i,len:Integer; 
    cur:Integer; 
    t:String; 
    begin 
    Result:=‘’; 
    len:=Length(s); 
    i:=1; 
    while i<=len do 
    begin 
    cur:=ord(s[i]); 
    //BCD转换 
    FmtStr(t,‘%4.4X’,[cur]); 
    Result:=Result+t; 
    inc(i); 
    end; 
    end; 
    小 结 
    以上介绍了PDU格式的短信息编码。建议英文信息长度不超过140个字符,中文信息不要超过54个汉字。如果使用能够支持文本方式的手机进行发送,实现起来更简单。如发送“Hello World!”,用如下的AT指令即可: 
    AT+CGMF=1<CR>AT+CGMS=“13605696031”,129<CR> 
    >Hello World!<^Z> 
      

  2.   

    http://www.experts-exchange.com/Programming/Wireless_Programming/Q_20699742.html
    http://g-ya.cn/academy/academyFile/20031221213138.asp
      

  3.   

    谢谢aiirii(ari-爱的眼睛) 。
    你发的资料我先已看过,我没搞明白的是我读出的短信怎么有的有时间信息,有的没有?文件头字节和发送方号码之间有的有个“FF”,这是什么意思?我怎么判断有没这玩意?
      

  4.   

    这个有源码,太长了,自己看吧 
    http://www.delphibbs.com/delphibbs/dispq.asp?lid=2731580
      

  5.   

    能不能发一个给我啊,[email protected]