我希望使用二进制阅读器查看二进制数据的一个字节。使用PeekChar只有在UTF-8时才能正常工作。否则,我得到错误"输出字符缓冲区太小而不能包含解码字符,编码&#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
答案 0 :(得分:2)
BinaryReader
无法查看单个字节,就像那样简单。但是,在您的情况下,它并不重要。由于MemoryStream
背后有BinaryReader
,因此您可以安全地执行ReadByte
并将Position
移回一个字节。