delphi 中,怎么把一段字符串,转换成16进制编码,之后再把16进制编码,还原成原先的字符串?
展开全部
给你写了两个函数
function Encode16(const sourstr : string) : string; //把字符串转换成十六进制编码
var
i : integer;
begin
result := '';
for i := 0 to length(sourstr) - 1 do
begin
result := result + IntToHex(ord(sourstr[i+1]),2) ;
end;
end;
function Decode16(const SourStr : string) : string; //把用Encode16编码过的字串还原
var
i ,j: integer;
begin
result := '';
j := 0;
for i := 0 to length(sourstr) - 3 do
begin
result := result + chr(StrToInt('$' + copy(sourStr,j+1,2)));
j := j + 2;
if j >= length(sourstr) then
break;
end
end;
调用方法:
var
tmp,buf : string;
begin
tmp := 'hello,world!';
buf := Encode16(tmp); //68656C6C6F2C776F726C6421
tmp := Decode16(buf); //hello,world!
end;
function Encode16(const sourstr : string) : string; //把字符串转换成十六进制编码
var
i : integer;
begin
result := '';
for i := 0 to length(sourstr) - 1 do
begin
result := result + IntToHex(ord(sourstr[i+1]),2) ;
end;
end;
function Decode16(const SourStr : string) : string; //把用Encode16编码过的字串还原
var
i ,j: integer;
begin
result := '';
j := 0;
for i := 0 to length(sourstr) - 3 do
begin
result := result + chr(StrToInt('$' + copy(sourStr,j+1,2)));
j := j + 2;
if j >= length(sourstr) then
break;
end
end;
调用方法:
var
tmp,buf : string;
begin
tmp := 'hello,world!';
buf := Encode16(tmp); //68656C6C6F2C776F726C6421
tmp := Decode16(buf); //hello,world!
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询