title: Why is the console not printing the characters i am expecting
body: <p>I'm currently trying to educate my self about the different Encoding types. I tried to make a simple console app to tell me the difference between the types.</p>
  
  <pre><code>byte[] byteArray = new byte[] { 125, 126, 127, 128, 129, 130, 250, 254, 255 };
  string s = Encoding.Default.GetString(byteArray);
  Console.OutputEncoding = Encoding.Default;
  Console.WriteLine("Default: " + s);
  
  s = Encoding.ASCII.GetString(byteArray);
  Console.OutputEncoding = Encoding.ASCII;
  Console.WriteLine("ASCII: " + s);
  
  s = Encoding.UTF8.GetString(byteArray);
  Console.OutputEncoding = Encoding.UTF8;
  Console.WriteLine("UTF8: " + s);
  </code></pre>
  
  <p>The output however is nothing like I expected it to be.</p>
  
  <pre><code>Default: }~€‚úûüýþÿ
  ASCII: }~?????????
  UTF8: }~ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
  </code></pre>
  
  <p>Hmm... the characters do not copy well from the console output to here either so here's a print screen.</p>
  
  <p><a href="https://i.stack.imgur.com/F6jN5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/F6jN5.png" alt="Console output printscreen"></a></p>
  
  <p>What I do expect is to see the the extended ASCII characters. The default encoding is almost correct but it cannot display <code>251, 252 and 253</code> but that might be a shortcoming on the Console.writeLine() though i'd not expect that.</p>
  
  <p><a href="https://i.stack.imgur.com/yD6Ob.gif" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yD6Ob.gif" alt="enter image description here"></a></p>
  
  <p>The representation of the variable when debugging is as follows:</p>
  
  <pre><code>Default encoded string = "}~€‚úûüýþÿ"
  ASCII encoded string = "}~?????????"
  UTF8 encoded string = "}~���������"
  </code></pre>
  
  <p>Can someone tell me what I'm doing wrong? I expect one of the encoding types to properly display the extended ASCII table but apparently none can...</p>
  
  <p><strong>A bit of context:</strong><br>
  I am trying to determine what Encoding would be best a standard in our company, I personally think UTF8 will do but my supervisor would like to see some examples before we decide.</p>
  
  <p>Obviously we know we will need to use other encoding types every now and then (serial communication for example uses 7-bits so we can't use UTF8 there) but in general we would like to stick with one encoding type. Currently we are using default, ASCII and UTF8 at random so that's not a good thing.</p>
  
  <p><strong>EDIT</strong><br>
  The output according to: </p>
  
  <pre><code>Console.WriteLine("Default: {0} for {1}", s, Console.OutputEncoding.CodePage);
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/E568M.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/E568M.png" alt="output with code page"></a></p>
  
  <p><strong>Edit 2:</strong> <br>
  Since I thought there might not be an encoding in which the extended ascii characters correspond to the decimal numbers in the table I linked to I turned it around and this: </p>
  
  <pre><code>char specialChar = '√';
  int charNumber = (int)specialChar;
  </code></pre>
  
  <p>gives me the number: 8730 which in the table is 251</p>