private int ReadChar()
{
if (_bufferedStream.Position == _bufferedStream.Length)
{
return -1;
}
if (_isUnicode)
{
byte[] b = new byte[2];
_bufferedStream.Read(b, 0, 2);
if(_isLittleEndian)
{
return (int)(b[0] | b[1] << 8);
}
else
{
return (int)(b[0] << 8 | b[1]);
}
}
else
{
return _bufferedStream.ReadByte();
}
}