Delphi/C++Builder IdHttp で UTF-8 のページを string へ Get

Delphi 2009以降(UTF8系)で UTF8 の Webから string へ Getする

S := IdHttp.Get(AURL) だと、デフォルトコードで処理してしまうため
Stream などで取得後、IdGlobal の ReadStringFromStream 関数を用いて string へ変換を行う
  1. uses IdGlobal; // を追加  
  2. // :  
  3. MemStream := TMemoryStream.Create;  
  4. try  
  5.     IdHTTP.Get(AURL, MemStream);  
  6.     MemStream.Position := 0;  
  7.     S := ReadStringFromStream(MemStream, MemStream.Size, TEncoding.UTF8);  
  8.     // S := ReadStringFromStream(MemStream, MemStream.Size, IndyTextEncoding_UTF8); // XEのどこからか   
  9. finally  
  10.     MemStream.Free;  
  11. end;  

コメント

Unknown さんの投稿…
文字化けして困っていました。
助かりました。
ありがとうございました。