资料介绍
手机短信息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