近日帮朋友用DELPHI做一个AES加解密过程的程序,需要显示过程中的缓冲数据。一开始考虑的是将byte数组转换为字符串,搜遍网路也未发现适合方法。后来在查看TSTREAM类时有一个TSTRINGSTREAM,可以直接从缓冲中读取数据,然后转换为字符串。
代码如下:
var
TempIn, TempOut: TAESBuffer;
StrStream: TStringStream;
s:string;
begin
//创建StrStream对象
StrStream := TStringStream.Create(s);
try
//将指针恢复到字符串头
StrStream.Seek(0, soFromBeginning);
//从缓冲读取数据
StrStream.Write (TempOut, SizeOf(TempOut));
finally
StrStream.Free;
end;
end;