1

我希望查看使用二进制阅读器传入的二进制数据的一个字节。仅当它是 UTF-8 时,使用 PeekChar 才能正常工作。否则,我会收到错误“输出字符缓冲区太小,无法包含解码的字符,编码 'Unicode (UTF-8)' 回退”。

二进制阅读器有没有办法在不考虑编码的情况下窥视一个字节?

Stream stream = new MemoryStream(buffer);
BinaryReader reader = new BinaryReader(stream);
type = (uint)reader.PeekChar(); // Throws error I mentioned for a particular case
4

1 回答 1

2

BinaryReader不能偷看一个字节,就这么简单。但是,就您而言,这并不重要。既然你有一个MemoryStream底层的BinaryReader,你可以安全地做 aReadByte并且只Position向后移动一个字节。

于 2014-03-27T14:39:48.910 回答