Я работаю над улучшением класса чтения потока, который использует BinaryReader
. Он состоит из цикла while, который использует .PeekChar ()
для проверки наличия дополнительных данных для продолжения обработки.
Самой первой операцией является .ReadInt32 ()
, которая читает 4 байты. Что, если PeekChar
«увидел» только один байт (или один бит)? Это не кажется надежным способом проверки EOF.
BinaryReader
построен с использованием параметров по умолчанию, которые, как я понимаю, используют UTF8 в качестве кодировки по умолчанию. Я предполагаю, что .PeekChar ()
проверяет наличие 8 бит, но я действительно не уверен.
Сколько бит ищет .PeekChar ()
? (и каковы альтернативные методы проверки EOF?)