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<Length(Src) then begin
TStr:=Copy(Src,i+1,1);
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;
相关推荐
cmpp协议短信网关Delphi源码,采用DELPHI开发!
手机短信开发文档及开发实例,非常有用的手机短信开发资料
Delphi写的短信猫程序,可用来收发短信的程序,没有使用任何第三方控件,用Delphi7可直接编译运行。程序运行前请确定端口是否被占用。自带了Access数据库。
delphi环境下开发的发送手机短信的源码,简易实用
delphi做的消息通讯工具 包括执行程序和源代码 客户端和服务器为两个程序 从数据库加载密码帐号
可以通过pc管理手机地址本、短信等等,包含全部delphi源代码
delphi 手机短信组件 SMS Modem delphi 手机短信组件 SMS Modem delphi 手机短信组件 SMS Modem delphi 手机短信组件 SMS Modem
短信猫二次开发接口 dll 源码,目前市面上短信猫多采用 sms.dll 来进行二次开发,该部分一般不开源,现将这部分源码奉献给大家,有很高的使用价值!
该控件包中包含一个SMS控件,它可以通过Lycos的服务而给移动电话发送文本消息,同时也有一个图形化的电话界面用来发送。
自己去年开发的一个商业软件,1W行代码,代码比较琐碎,但应该物超所值,请放心下载。
send sms with computer source code delphi
亿美软通短信开发平台,Delphi版,支持群发
sms网关接口源码附接口协议
面向C#的sms开发源码面向C#的sms开发源码面向C#的sms开发源码面向C#的sms开发源码
电子通信 GPRS/通信 简单的串口调用源码案例
适用于大中小型企业、商场、酒店等,面向企事业单位开发的短信收发系统。 主要提供短信网关,短信接口, 网站接口以及 OA 、 CRM 、 ERP 、 SCM 、等系统及B2B大型网站平台使用。 接入方式可灵活使用,24小时发送,多...
面向asp的sms开发源码面向asp的sms开发源码面向asp的sms开发源码面向asp的sms开发源码
sms的pdu编码规则
SMS Program, Sms Send,
sms中的pdu格式编码,用的的可以看下