我需要使用idHTTP(String := idHTTP.Get)下载Unicode格式的TreeView文件。下载后,我需要对字符串进行处理,然后将其放入TTreeView中。我正在使用Delphi 2010。

s:=form2.idhttp1.Get(Adres+'list.ttt');
....
StrStream:=TStringStream.Create(s,t encoding.Unicode);
form2.TreeView1.LoadFromStream(strstream);
StrStream.Free;


我在STreeView1中看不到Unicode。如果我尝试下载的不是list.ttt而是list.html,我只会在S中看到Unicode。我需要在idHTTP或其他内容中设置什么才能正常工作?

最佳答案

如何使其与TIdHttp一起使用
不要使用TStringStream,请使用TMemoryStream,这样就不会对内容进行任何重新编码。例:

var ResponseStream: TMemoryStream;
begin
  ResponseStream := TMemoryStream.Create;
  try
    H.Get(URL, ResponseStream);
    ResponseStream.Position := 0;
    Tree.LoadFromStream(ResponseStream);
  finally ResponseStream.Free;
  end;
end;

10-08 14:06