8得票2回答
当读取NetworkStream时,C# BinaryReader.ReadChar会抛出“System.ArgumentException:输出char缓冲区太小”的异常。

阅读C#的NetworkStream(从流式TCP套接字)时,BinaryReader.ReadChar偶尔会抛出异常System.ArgumentException:输出char缓冲区太小,无法包含已解码的字符,编码为'Unicode(UTF-8)'。 所有缓冲区都具有它们的默认大小(没有...

12得票5回答
二进制读取器的EndOfStream

BinaryReader没有EndOfStream属性。使用以下代码检查是否到达流的末尾安全吗?reader.BaseStream.Length>reader.BaseStream.Position

865得票4回答
如何将字节数组转换为字符串

我用两个字符串创建了一个字节数组。如何将字节数组转换为字符串?var binWriter = new BinaryWriter(new MemoryStream()); binWriter.Write("value1"); binWriter.Write("value2"); binWrite...

11得票3回答
当BinaryReader打开时,使用Stream.Seek是否安全?

由于BinaryReader底层的缓冲策略,我不确定在读取存储在流中的偏移量后,重新将流定位到该偏移量以恢复流是否可行。例如,以下代码是否正确:using (var reader = new CustomBinaryReader(inputStream)) { var offset= r...

9得票1回答
在C#中使用BinaryReader读取上传文件时,遇到空数组的情况

假设以下代码: Stream file = files[0].InputStream; var FileLen = files[0].ContentLength; var b = new BinaryReader(file); var bytes = b.ReadBytes(FileLe...

11得票3回答
在C#中高效读取大端数据的方法

我使用以下代码来使用BinaryReader读取BigEndian信息,但我不确定这是否是高效的方法。是否有更好的解决方案? 这是我的代码: 我使用以下代码来使用BinaryReader读取BigEndian信息,但我不确定这是否是高效的方法。是否有更好的解决方案? 这是我的代码://...

7得票2回答
通过NetworkStream BinaryReader/BinaryWriter计算TcpClient传输的字节数

我正在使用围绕TcpClient构建的网络协议,使用BinaryReader从底层NetworkStream中读取字节(反之亦然,使用BinaryWriter进行写入)。 该协议以UTF-8编码传输字符串,并调用reader.ReadString()从流中读取它们(使用writer.Writ...

28得票5回答
.NET中更快(但不安全)的二进制读取器

我遇到了一个情况,需要从一个非常大的文件中读取二进制数据。因此,我意识到 .NET 中默认的 BinaryReader 实现相当慢。通过使用 .NET Reflector 查看它,我发现了以下内容: public virtual int ReadInt32() { if (this....

40得票8回答
C# - 大端模式下的二进制读取器?

我正在尝试通过使用程序读取所有不同的信息来改进对STFS文件格式的理解。使用一个包含哪个偏移量包含什么信息的参考网站,我编写了一些代码,让二进制读取器遍历文件并将值放入正确的变量中。 问题在于所有数据都应该是Big Endian,而二进制读取器读取的却是Little Endian。那么,如何...

9得票2回答
在C#中如何获取BinaryReader的当前偏移量?

我有以下源代码: public static void DisplayValues() { float aspectRatio; string tempDirectory; int autoSaveTime; bool showStatusBar; ...