上面是完成英文编码的局部Delphi 5代码:
//英文格局编码,s为String
function Encode1(var s:String):String;
var
i,j,len:Integer;
cur:Integer;
t:String;
begin
Result:=‘’;
len:=Length(s);
//j 用于移位计数
i:=1;j:=0;
while i<=len do
begin
if i<len then
//数据变换
cur:=(ord(s[i]) shr j) or ((ord(s[i+1]) shl (7-j)) and $ff)
else
cur:=(ord(s[i]) shr j) and $7f;
FmtStr(t,‘%2.2X’,[cur]);
Result:=Result+t;
inc(i);
//移位计数到达7位的出格处置
j:=(j+1) mod 7;if j=0 then inc(i);
end;
end;
2.中文编码
拜见表3,设短信息内容为“中文短信息”。中文短信息的完成较复杂,只需将??????的中文编码转换为代码页为CP936的Unicode编码便可。
表3 中文编码的完成进程