title: How many bits does BinaryReader.PeekChar() read?
body: <p>I am working on improving a stream reader class that uses a <code>BinaryReader</code>. It consists of a while loop that uses <code>.PeekChar()</code> to check if more data exists to continue processing.</p>
  
  <p>The very first operation is a <code>.ReadInt32()</code> which reads 4 bytes. What if <code>PeekChar</code> only "saw" one byte (or one bit)? This doesn't seem like a reliable way of checking for EOF.</p>
  
  <p>The <a href="http://msdn.microsoft.com/en-us/library/system.io.binaryreader.aspx" rel="noreferrer"><code>BinaryReader</code></a> is constructed using its default parameters, which as I understand it, uses UTF8 as the default encoding. I assume that <code>.PeekChar()</code> checks for 8 bits but I really am not sure.</p>
  
  <p>How many bits does <code>.PeekChar()</code> look for? (and what are some alternate methods to checking for EOF?)</p>