ms1 := Tmemorystream.Create;
aa:=TStringStream.Create(s);
try
ms1.LoadFromFile(infile);
ms1.SaveToStream(aa);
s:=aa.DataString;
ShowMessage(s);
如果简单的读取文件再转string得到一堆NULL值.
aa:=TStringStream.Create(s);
try
ms1.LoadFromFile(infile);
ms1.SaveToStream(aa);
s:=aa.DataString;
ShowMessage(s);
如果简单的读取文件再转string得到一堆NULL值.
zip文件时二进制文件,其中包含#0字符是再正常不过的了,幸好delphi的字符串定义不像c中那样,
遇到#0就被截断了,否则,你连得到正确字符串的机会都没有。uses
EncdDecd;procedure TForm1.Button1Click(Sender: TObject);
var
ms1:TMemoryStream;
aa: TStringStream;
begin
ms1 := Tmemorystream.Create;
aa := TStringStream.Create(s);
try
ms1.LoadFromFile(infile);
ms1.Seek(0, soFromBeginning);
EncodeStream(ms1, aa);
aa.Seek(0, soFromBeginning);
s := aa.DataString;
ShowMessage(s);
finally
ms1.Free;
aa.Free;
end;
end;