手机短信息SMS开发—编码 解码 [pic] 手机短信息SMS开发—编码,解码 [52RD.com] 1、 英文编码[52RD.com] 缺省的GSM字符集为7位编码,ASCII码为8位编码,编码就是将8位ASCII编码转换为7位编 码。[52RD.com] 例如:1234 编码后得到31D98C06[52RD.com] 2进制表示[52RD.com] 8位编码 00110001 00110010 00110011 00110100[52RD.com] 7位编码 00110001 11011001 10001100 00000110 [52RD.com] 通过例子可以看出,将ascii8位编码的Bit8去掉,依次将下7位编码的后几位逐次移到前 面,形成新的8位编码。[52RD.com] 以下是C++Builder的实现代码:[52RD.com] String __stdcall EncodeEnglish(String InputStr)[52RD.com] {[52RD.com] int n,len,cur;[52RD.com] String tempstr,returnstr;[52RD.com] unsigned char mid1[2],mid2[2];[52RD.com] len=InputStr.Length();[52RD.com] n=0;[52RD.com] for(int i=1;i>n)|((mid2[0]>n)& 0x7f;[52RD.com] }[52RD.com] FmtStr(tempstr,"%2.2X",ARRAYOFCONST((cur)));[52RD.com] returnstr=returnstr+te……