问题标签 [binaryreader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
15789 浏览

c# - BinaryReader 的 EndOfStream

BinaryReader 没有 EndOfStream 属性。使用以下代码检查是否到达流结束是否安全?

reader.BaseStream.Length>reader.BaseStream.Position

0 投票
0 回答
623 浏览

c# - BinaryReader.ReadUInt16() 非常慢

我刚刚分析了我的应用程序,并且正在使用 ReadUInt16() 读取内存流。按时是非常昂贵的。是否有替代方案 - 或任何方法可以加快速度?

编辑

抱歉,我犯了一个错误,虽然我不是在调试模式下运行应用程序,但我的属性没有设置为 64 位 CPU 和 Active (release) - 更改为这些速度非常快!

0 投票
3 回答
1121 浏览

c# - BinaryReader 的 FillBuffer 方法有什么作用?

根据文档

使用从流中读取的指定字节数填充内部缓冲区。

这是什么意思(什么是内部缓冲区?)?

0 投票
1 回答
4750 浏览

c# - C# BinaryReader.Read() 开始变得垃圾

我想弄清楚我在这里做错了什么。我正在尝试使用二进制读取器来轻松地将流中的初始四个字节转换为 Int32 值,该值告诉我剩余数据的预期时间。

输出应该是输入,但我明白了(注意第一个字符从字符串变为字符串)

(想象这是一个非常长的字符串

有人可以向我解释我做错了什么吗?理想情况下,第二次读取将继续,直到总读取字节数等于前四个字节的值。这段代码只是为了显示我遇到的问题的简化。流的位置似乎是正确的 (4),但它几乎似乎从 2 开始读取。

0 投票
2 回答
5458 浏览

c# - 如何在 C# 中读取二进制文件?

我有一个存在于文本和二进制图像中的文件,我需要从 0 到 30 位置读取相关文本,而 31 上的位置将是二进制格式的图像。我必须遵循哪些步骤才能继续解决该问题?

目前,我正在尝试使用 读取它FileStream,然后将 FileStream var 移动到一个BinaryReader,如下所示:

从那里开始,我迷路了。


更新

好的,所以我现在可以阅读我的文件了。直到位置 30 是我的 30 字符串,从位置 30 开始是位串,它实际上是一个图像。我想知道如何从位置 30 读取字节然后保存图像!有没有人有任何想法?按照我的文件中的一个例子,你有一些想法:

请注意,即使@@@ 是我的字符串,图片也会是一个字节。

0 投票
3 回答
3424 浏览

c# - C#客户端服务器应用,BinaryReader抛出异常

我的任务是创建一个服务器应用程序,该应用程序检查服务器上是否存在任何文件(必须由客户端发送该名称)以及是否存在以返回响应(消息 - “此文件存在。”)。我有这个问题。服务器正在做正确的事情,但是当我尝试使用 BinaryReader 读取响应时,它给了我这个异常:

这是来自客户端的一些代码:

这就是 GetResponse 方法:

在这里我如何向客户端发送数据:

请问你能帮帮我吗?

0 投票
1 回答
2449 浏览

c# - c# 中 UploadedFile 上带有 BinaryReader 的空数组

假设以下代码:

如果我上传 10 条记录(257 字节)的 CSV 文件,BinaryReader 会用“0”填充字节数组。

我还编写了一个循环来逐步执行 BinaryReader 的 ReadByte 方法,在循环的第一次迭代中,我收到了以下异常:

无法读取超出流末尾的内容

当我将 CSV 文件增加到 20000 条记录时,一切正常。

那么问题是,为什么这会发生在较小的文件上,是否有一种解决方法允许对较小的文件进行二进制读取。

0 投票
2 回答
1943 浏览

c - 在 C 中编辑或删除 PDF 标题信息

我需要编辑几个 PDF 文件的标题信息。我想要实现的是删除之前的所有标题数据%PDF-X.Y.Z

我想出的一个可能的解决方案是以二进制模式打开 PDF,读取每个字符直到%PDF-X.Y.Z找到。然后继续读取流的其余部分并将其保存到新文件中。我认为这样我最终会得到一个精确的 PDF 二进制副本,只是带有不同的标题信息。

在 C 中最简单/最好的方法是什么?是否有任何可用的库可以帮助我做到这一点?我也有兴趣听到解决这个问题的不同方法。

谢谢。

0 投票
1 回答
1235 浏览

c# - 从 32 位块中读取 n 位

我正在尝试读取由旧版 Fortan 应用程序编写的二进制文件。

它将数据写入 32 位块。其中一些 32 位 chnuk 包含多个数据。

例如 1 : 9 位将包含 (0-511) 范围内的位置偏移值 22 位将包含 (1-2097151) 范围内的数据记录值

eg2 : 17 位将包含 (1-131071) 范围内的年份值 4 位将包含 (1-12) 范围内的月份值 5 位将包含 (1-31) 范围内的日期值 5 位将包含从 ( 1-24)

我想知道如何读取数据,我可以将 32 位值存储为整数,但是我应该执行哪些操作来提取该 4 字节值的不同部分。

0 投票
1 回答
1311 浏览

.net - 使用 BinaryReader 读取 MIDI 文件。(。网)

我将如何使用 BinaryReader 读取 midi 文件(格式规范在这里

我正在使用 vb.net,但我愿意查看其他代码(主要是 C#,我可以转换它)。我正在做一个大型项目,这有点像一个减速带。

这是我当前的代码:

当我开始阅读实际的标题数据时,一切正常。我完全不知道该如何继续。任何帮助或代码示例都会很好!