title: Encoding.GetEncoding(437).GetString() bug?
body: <p>I have following test program</p>
  
  <pre><code>char c = '§';
  Debug.WriteLine("c: " + (int)c);
  
  byte b = Encoding.GetEncoding(437).GetBytes("§")[0];
  Debug.WriteLine("b: " + b);
  
  char c1 = Encoding.GetEncoding(437).GetString(new byte[] { 21 })[0];
  Debug.WriteLine("c1: " + (int)c1);
  </code></pre>
  
  <p>This produces following result:</p>
  
  <pre><code>c: 167
  b: 21
  c1: 21
  </code></pre>
  
  <p>As I can see <a href="http://en.wikipedia.org/wiki/Code_page_437" rel="noreferrer">here</a> GetBytes is working correctly<br>
  167 in unicode => 21 in CP437<br>
  but GetString is not working<br>
  21 in CP437 => 21 in unicode</p>
  
  <p>Is this a bug or my mistake?</p>