title: Convert a "TMemoryStream" to "String" and vice-versa
body: <p>I'm downloading a file from the web using IdHttp, like this:</p>
  
  <pre><code>var
   MS: TMemoryStream;
  
  procedure Test1;
  var
   Http: TIdHTTP;
  begin
  Http := TIdHTTP.Create(nil);
    try
      MS := TMemoryStream.Create;
      try
        Http.Get('http://www.test.com/test.exe', MS);
      finally
        MS.Free;
      end;
    finally
      Http.Free;
    end;
  end;
  </code></pre>
  
  <p>Consequently, the downloaded file/stream (don't know how to pronounce it) will be in <code>MS.Memory</code>.</p>
  
  <p>Well, I want to get or convert the <code>MS.Memory</code> to a string, and vice-versa.</p>
  
  <p>I've tried the functions posted by Rob Kennedy in this question: <a href="https://stackoverflow.com/questions/732666/converting-tmemorystream-to-string-in-delphi-2009">Converting TMemoryStream to &#39;String&#39; in Delphi 2009</a></p>
  
  <p>But I just got the string: "<strong><code>MZP</code></strong>"</p>
  
  <p>Can anyone help-me?</p>