关于SMS编码Delphi源码摘抄
来源:互联网 发布:苹果电池校准软件 编辑:程序博客网 时间:2024/05/17 07:29
1.英文编码
function Encode7bit(Src:String):String;
var Dst:String;
i:Integer;
CurS,NextS:Byte;
TStr:String;
begin
for i:=1 to Length(Src) do begin
//当前是字符按8位分组的第8位,无需编码(8个字符已缩短为7个)
if (i mod 8)=0 then Continue;
//取当前位为数字
TStr:=Copy(Src,i,1);
CurS:=Ord(TStr[1]);
//当前右移位组中的第一个字符不移位
if (i mod 8)>1 then
CurS:=(CurS shr ((i mod 8)-1) );
//取后一位为数字如果到了字符的结束,不取
if i
NextS:=Ord(TStr[1]);
end else
NextS:=0;
//后一位移位 左移
NextS:=(NextS shl (8-(i mod 8)));
//当前移位后加后一位移位后 转换成为十六进制
Dst:=Dst+IntToHex(CurS+NextS,2);
end;
Result:=Dst;
end;
2、英文解码
function Decode7bit(Src:String):String;
var Dst:String;
i:Integer;
CurS,ProiS:Byte;
begin
for i:=1 to (Length(Src) div 2) do begin
//将当前位的十六进制转换为十进制
CurS:=StrToInt('$'+Copy(Src,(i-1)*2+1,2)); //32->50
//取前一位十六进制转换为十进制
if (i mod 7)<>1 then
ProiS:=StrToInt('$'+Copy(Src,(i-2)*2+1,2)) //C8->200
else
ProiS:=0;
//前一位右移,即将当前字符前移的位取出来
if (i mod 7)>0 then
ProiS:=(ProiS shr (9-(i mod 7)))
else
ProiS:=(ProiS shr 2);
//当前位左移除掉高位
if (i mod 7)>0 then
CurS:=(CurS shl (i mod 7) )
else
CurS:=(CurS shl 7 );
//将第八位设置为0
CurS:=(CurS shr 1);
Dst:=Dst+Chr(CurS+ProiS);
//第七个十六进制内已包含有一个完整的字符
if (i mod 7)=0 then begin
CurS:=StrToInt('$'+Copy(Src,(i-1)*2+1,2)); //32->50
CurS:=(CurS shr 1);
Dst:=Dst+Chr(CurS);
end;
end;//en for
Result:=Dst;
end;
3.中文编码
function CnToUSC(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;
4、PDU解码
function TForm1.DecodeChinese(SRC: String): string; //中文解码
var
i:Integer;
S:String;
D:WideChar;
ResultW:WideString;
begin
for i:=1 to Round(Length(Src)/4) do
begin
S:=Copy(Src,(i-1)*4+1,4);
D:=WideChar(StrToInt('$'+s)); //此处是重点,用delphi提供的widechar可以转换
ResultW:=ResultW+D;
end;
Result:=ResultW;
end;
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1503842
- 关于SMS编码Delphi源码摘抄
- 关于SMS编码Delphi源码摘抄
- 关于SMS编码Delphi源码摘抄
- SMS短信的PDU编码解码,附java解码源码
- Base64编码/解码Delphi源码
- Base64编码/解码Delphi源码
- Base64编码/解码Delphi源码
- SMS短信的C语言代码摘抄
- SMS短信的C语言代码摘抄
- DELPHI原创摘抄
- SMS PDU编码
- SMS PDU编码
- sms 7bit编码
- SMS的PDU编码
- SMS短信PDU编码
- SMS 编码说明(二)
- PDU的编码--SMS编码
- SMS的源码研究
- SAP默认用户和默认口令
- SAProuter Installation
- SAP NetWeaver 2004s BI和BW 3.X的术语对应表
- R/3 RFC from JavaScript
- 架站应用:Apache服务器之ASP篇(图)
- 关于SMS编码Delphi源码摘抄
- SMS短信的C语言代码摘抄
- SMS短信的PDU编码规则
- VC++动态链接库(DLL)编程深入浅出(三)
- 如何在用户登录时sap时触发一特定程序执行
- 睡前小量运动 有益健康帮助睡眠 和 健康指南:日常饮食的十大误区
- 字符,字节和编码
- 如何解决ALV的负数符号前显的问题
- 实现 ObjectCollection