Из Stream
, если вы Read(buffer, offset, count)
, вы получите неположительный результат, а если вы Peek()
, вы получите отрицательный результат.
С BinaryReader
, документация предполагает, что PeekChar()
должен возвращать отрицательное значение:
Возвращаемое значение
Тип: System.Int32 Следующий доступный символ или -1, если не болеесимволы доступны или поток не поддерживает поиск.
Вы уверены, что это не поток поврежденный ?т.е. оставшиеся данные не могут сформировать полное char
из заданной кодировки?