C# - Encoding.ASCII.GetString() returns "??" instead of actual string, why?
<p>This is my piece of code (file is a <code>HttpPostedFileBase</code> type):</p>

<pre><code>var imageStream = file.InputStream;
var header = new Byte[4];
imageStream.Read(header, 0, header.Length);
</code></pre>

<p>Now, while my code runs, i place a breakpoint, and in my immediate window i check values:</p>

<pre><code>header
{byte[4]}
    [0]: 255
    [1]: 216
    [2]: 255
    [3]: 224
</code></pre>

<p>But, when i want to convert this byte array to string of ASCII, i get this (values obtained by immediate window):</p>

<pre><code>Encoding.ASCII.GetString(header)
"????"
Encoding.ASCII.GetString(header, 0, 2)
"??"
</code></pre>

<p>What am I doing wrong?</p>
