短信息的PDU格式有两种编码方式:Unicode和7位ASCII的压缩编码。
如收到7位ASCII的压缩编码,如:31D98C06 (为1234的7位压缩编码) 2进制表示如下: 8位编码 00110001 00110010 00110011 00110100 7位编码 00110001 11011001 10001100 00000110 请问怎样用Delphi实现直接将七位编码:31D98C06 翻释成:1234,希望能提供现成的函数,我实在不知该怎么写,谢谢各位大虾们,小师妹在线等待!
如收到7位ASCII的压缩编码,如:31D98C06 (为1234的7位压缩编码) 2进制表示如下: 8位编码 00110001 00110010 00110011 00110100 7位编码 00110001 11011001 10001100 00000110 请问怎样用Delphi实现直接将七位编码:31D98C06 翻释成:1234,希望能提供现成的函数,我实在不知该怎么写,谢谢各位大虾们,小师妹在线等待!
{ str="0x"+InputStr.SubString(i+1,2); InStr[i/2]=StrToInt(str); } while(j<=InputStr.Length()/2) { if(Point==0) OutStr[i]=InStr[j]&ReturnHex(Point); else OutStr[i]=((InStr[j]&ReturnHex(Point))<>(8-Point)); if(Point%7==0&&Point!=0) Point=0; else Point=Point+1; i++; j=i-(i/8); } OutStr[12]=((InStr[12]&0x07)<<5)|(InStr[11]>>(8-5)); return AnsiString(OutStr); }