function HashStr2BinStr(Hash:string):string; var buf:array[0..63] of AnsiChar; i:Integer; begin Result:=''; FillChar(buf, SizeOf(buf),0); SetLength(Result, Round(Length(Hash)/2)); FillChar(Result[1], Length(Result),0); HexToBin(PChar(Hash), buf,SizeOf(buf)); for i:=0 to Round(Length(Hash)/2)-1 do Result:= buf; end;HexToBin(PChar(Hash), buf,SizeOf(buf)); PChar等價于 PWideChar,所以調用的是function HexToBin(Text: PWideChar; Buffer: PAnsiChar; BufSize: Integer): Integer; overload; 因此只需 改buf:array[0..63] of Char; 為buf:array[0..63] of AnsiChar;
function HashStr2BinStr(Hash:string):string;
var
buf:array[0..63] of AnsiChar;
i:Integer;
begin
Result:='';
FillChar(buf, SizeOf(buf),0);
SetLength(Result, Round(Length(Hash)/2));
FillChar(Result[1], Length(Result),0);
HexToBin(PChar(Hash), buf,SizeOf(buf));
for i:=0 to Round(Length(Hash)/2)-1 do
Result:= buf;
end;HexToBin(PChar(Hash), buf,SizeOf(buf));
PChar等價于 PWideChar,所以調用的是function HexToBin(Text: PWideChar; Buffer: PAnsiChar; BufSize: Integer): Integer; overload;
因此只需 改buf:array[0..63] of Char;
為buf:array[0..63] of AnsiChar;