title: WebClient.UploadString method doesn't emit BOM. Why?
body: <p>The intent of the following code is to post data that's begins with byte order mark (BOM) over HTTP.</p>
  
  <pre><code>var client = new WebClient();
  client.Encoding = new UTF8Encoding(true /* encoderShouldEmitUTF8Identifier */);
  client.UploadString(url, data);
  </code></pre>
  
  <p>However according to fiddler there is no BOM at the beginning of the request body. BOM isn't send even if I use <code>UnicodeEncoding</code> instead of <code>UTF8Encoding</code>.</p>
  
  <p><strong>So question is, what am I doing wrong?</strong></p>
  
  <p><em>Note</em>: I know that I can bypass this problem by using <code>WebClient.UploadData</code> in combination with <code>Encoding.GetPreamble</code> method however I am wondering why <code>UploadString</code> doesn't work as I expected.</p>