xe下的16进制字符串转换成字符串

function HexStrToStr(const S:AnsiString):AnsiString;

var
t:Integer;
ts:AnsiString;
M,Code:Integer;
begin
t:=1;
Result:='';
while t<=Length(S) do
begin
while (t<=Length(S)) and (not (S[t] in ['0'..'9','A'..'F','a'..'f'])) do
inc(t);
if (t+1>Length(S)) or (not (S[t+1] in ['0'..'9','A'..'F','a'..'f'])) then
ts:='$'+S[t]
else
ts:='$'+S[t]+S[t+1];
Val(ts,M,Code);
if Code=0 then
Result:=Result+AnsiChar(Chr(M));
inc(t,2);
end;
end;

你可能感兴趣的:(Delphi)