delphi 中,怎么把一段字符串,转换成16进制编码,之后再把16进制编码,还原成原先的字符串?

 我来答
百度网友09d4ae1
2011-06-13 · TA获得超过267个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:204万
展开全部
给你写了两个函数

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;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式