下面的算法可以将不可视的字符变为了可视的字符,请帮帮忙,再给一个逆算法(20分)

  • 主题发起人 主题发起人 mycwcgr_temp
  • 开始时间 开始时间
M

mycwcgr_temp

Unregistered / Unconfirmed
GUEST, unregistred user!
S := '';
for i := 1 to length(test) do
S := S + IntToHex(Ord(test), 2);
上面的算法可以将不可视的字符变为了可视的字符,请帮帮忙,再给一个逆算法,将刚才的要s转化为test
 
chr呀。
S1:='';
for i:=0 to length(s) div 2do
begin
S1:=S1+Chr(StrToInt('$'+Copy(S,i*2,2));
end;
大概意思,没有调试的。
 
to yzhshi
您的算法不对!请仔细核对,谢谢
 
to yzhshi
请问下面的算法对不对
//------------------------
Sorig:='';
While length(s)>=1 do
begin
Sorig:=Sorig+Chr(StrToInt('$'+Copy(S,1,2)));
delete(s,1,2);
end;
edit3.Text:=sorig;
//-------------------------
 
呵呵,这个是调试通过的。
procedure TForm1.Button1Click(Sender: TObject);
var
s, s1: String;
I: iNTEGER;
begin
s := 'B4F3B8BBCECCC2DBCCB3';
S1 := '';
for i := 0 to length(s) div 2 - 1 do
begin
S1 := S1 + Chr(StrToInt('$' + Copy(S, i * 2 + 1, 2)));
Memo1.Lines.Add(Copy(S, i * 2 + 1, 2));
end;
ShowMessage(s1);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
User: string;
i, j: Integer;
begin
User := '大富翁论坛';
for i := 0 to Length(User) - 1 do
begin
j := ord((pchar(user) + i)^);
Memo1.Lines.Add(IntToHex(j, 2));
end;

end;
 
to mycwcgr_temp, 刚才测试了一下你的代码,应该是对的,得出的结果完全正确。
 
接受答案了.
 
后退
顶部