问题标签 [binarywriter]

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 投票
3 回答
838 浏览

c# - 如何将未知类型的对象写入二进制文件?

嗯,这基本上就像一个通用的二进制编写器......假设你有一个对象,你不知道它是什么,但你有它。您如何将其二进制数据写入二进制文件以便以后检索?

我不知道该怎么做的最初想法是:

  1. 以某种方式找出对象的所有成员(可能是反射)
  2. 除非成员是 BinaryWriter 可写的类型,否则对成员重复步骤 1
  3. 制作一个标题,说明成员的类型以及它们如何组装到对象中(不知何故)
  4. 写标题的东西
  5. 写入所有核心级别成员

我不太了解如何使用反射,所以我不确定如何执行上述大部分操作。然而,它应该是相当可行的。

如果可能的话,我应该怎么做?或者我应该如何实现上述?

0 投票
2 回答
2948 浏览

c# - 将数据从 MemoryStream 直接复制到 BinaryWriter.BaseStream?

我在 a 中有一堆数据,MemoryStream我想将它们全部写入BinaryWriter.

幸运的是,所有流现在都有一个Stream.CopyTo(Stream)方法,我可以从BinaryWriter.BaseStream属性中获取目标流。

我可以像这样安全地绕过编写器并将其直接复制到基本流,还是会弄乱编写器的缓冲区、位置或其他东西?或者,您如何建议将 a 复制Stream到 a BinaryWriter

0 投票
1 回答
1502 浏览

c# - C# 中 BinaryWriter 和 MemoryStream 的奇怪行为

我有一个具有以下方法的类:

在上面的代码中,我知道至少有一个被写入流的值是非零的。结果流在转换为字节数组时包含全零。

我是否错误地使用了流和阅读器对象?

0 投票
1 回答
1317 浏览

c# - 使用 binarywriter 写入空字节

所以我正在使用 binarywriter 在原始字符串上写入一些字符串,但我需要覆盖二进制文件中的整个字符串,所以我试图写入新字符串,并用 0x00 覆盖旧字符串的其余部分(空字节),这是我尝试过的,但不起作用:

31 是所有旧字符串都不能侵入的常量 int (不要问我,这是一个脚本)

0 投票
2 回答
4000 浏览

javascript - 如何从 System.Web.HttpContext.Current.Response.BinaryWrite(byteArray) 下载文件;来自 javascript 而不是 C#

我有一个 C# 方法,如果你从另一个 C# 方法调用它,但不能从 javascript 调用它。如何通过我的 ajax 调用使其工作?

我需要根据传入的 ID 获取文件,所以我有一个带有 statusID 的 ajax 帖子。该 ID 在我的 C# 方法中提取了正确的文件,它只是没有给出文件保存对话框。

但是,如果我从我的 C# 页面加载方法中调用它并使用静态 statusID 进行测试,它就可以正常工作。

这是 C# 方法:

这是我在 javascript 中从我的页面调用它的方式:

没发生什么事。在 Chrome 中,我在 javascript 控制台中看不到任何内容,在 IE 中,我的控制台吐出:“XML5619:文档语法不正确。”

同样,如果我进入控制器,并在我的页面加载方法中调用该方法,它会显示保存文件对话框并很好地保存文件。所以我的 javascript/jquery/ajax 一定做错了什么......

我是 MVC4 的新手,我知道我在这里遗漏了一些东西。我错过了什么?

0 投票
1 回答
54 浏览

c# - GetByteCount 显示为负数,但事实并非如此

所以我试图从 litview 子项中获取 ByteCount,但它总是显示负面错误:[Argument OutOfRangeException was unhandled: 'count' must not be negative, Parameter name: count] 这是我得到错误的代码行:

我试过这个:

不起作用,甚至使 if 条件为 '> -1',结果相同。

0 投票
1 回答
158 浏览

c# - 二进制在一个字符串后写入两个空的 unicode 字符

所以我试图在我在二进制文件中写入的每个字符串之后添加两个 0x00,这些是我尝试过的(每行尝试 1 次),但我总是在每个字符串之后只有一个 0x00:

但它们最终都得到相同的结果,我可以尝试使用另一种 Unicode 转义吗?还是我在这些方面做错了什么?顺便说一句,String enc = Encoding.Unicode

0 投票
2 回答
4563 浏览

c# - BinaryWriter 覆盖现有文件 c#

要在我的袖珍电脑的内存上写一张图片,我使用以下代码:

我想问您,如果具有此名称的文件已经存在,或者因为已经存在此文件而什么都不做,那么此方法是否会用新值覆盖文件?如果该文件已经存在但具有旧值,我需要覆盖该文件。

0 投票
3 回答
5429 浏览

c# - MemoryStream 读/写和数据长度

我有一个 MemoryStream /BinaryWriter ,我使用它如下:

现在阅读我执行以下操作:

我的2个问题是:

  1. 我读完后,位置移动到 currentPosition+readed , memSram.Length 会改变吗?
  2. 我想初始化流(就像我刚刚创建它一样),我是否可以再次使用 Dispose 和 new 来执行以下操作,如果没有,是否有比 dispose&new 更快的方法:

谢谢。约瑟夫

0 投票
1 回答
476 浏览

vb.net - 解析 C# 样式的十六进制字符串

我的代码有问题。我将偏移值放入列表框中,然后读取它并在文件中查找它。我使用以下代码。

问题是:我需要使用 tablica(0) 作为偏移量,使用 tablica(1) 和 tablica(2) 作为字节。我想要做的是打开文件,选择偏移量并用 tablica(2) 替换。czytana 的格式为“tablica(0): tablica(1) tablica(2).

有人介意帮忙吗?:)