把一个Hex字符串变成Asc值得字符串,例如:Hex:1A0F,变成 49 65 48 70:
function HexToAsc ( Hex : string ): string ;
var
i : integer ;
begin
for i := 1 to Length ( Hex ) do
Result := Result + IntToStr ( Ord ( Hex [ i ]));
end ;
function AscToHex ( Asc : string ): string ;
var
B : string [ 2 ];
i : integer ;
begin
if Length ( Asc ) mod 2 <> 0 then raise Exception . Create ( 'Error Asc string' );
for i := 0 to Length ( Asc ) div 2 - 1 do
begin
B := Copy ( Asc , i * 2 + 1 , 2 );
Result := Result + Chr ( StrToInt ( B ));
end ;
end ;
procedure TForm1 . Button1Click ( Sender : TObject );
begin
Caption := AscToHex ( HexToAsc ( '1A0F' ));
end ;
没有处理大小写,对于Asc大于100有问题,用空间换取效率也可以。 :)