问题标签 [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.
c# - 如何将未知类型的对象写入二进制文件?
嗯,这基本上就像一个通用的二进制编写器......假设你有一个对象,你不知道它是什么,但你有它。您如何将其二进制数据写入二进制文件以便以后检索?
我不知道该怎么做的最初想法是:
- 以某种方式找出对象的所有成员(可能是反射)
- 除非成员是 BinaryWriter 可写的类型,否则对成员重复步骤 1
- 制作一个标题,说明成员的类型以及它们如何组装到对象中(不知何故)
- 写标题的东西
- 写入所有核心级别成员
我不太了解如何使用反射,所以我不确定如何执行上述大部分操作。然而,它应该是相当可行的。
如果可能的话,我应该怎么做?或者我应该如何实现上述?
c# - 将数据从 MemoryStream 直接复制到 BinaryWriter.BaseStream?
我在 a 中有一堆数据,MemoryStream
我想将它们全部写入BinaryWriter
.
幸运的是,所有流现在都有一个Stream.CopyTo(Stream)
方法,我可以从BinaryWriter.BaseStream
属性中获取目标流。
我可以像这样安全地绕过编写器并将其直接复制到基本流,还是会弄乱编写器的缓冲区、位置或其他东西?或者,您如何建议将 a 复制Stream
到 a BinaryWriter
?
c# - C# 中 BinaryWriter 和 MemoryStream 的奇怪行为
我有一个具有以下方法的类:
在上面的代码中,我知道至少有一个被写入流的值是非零的。结果流在转换为字节数组时包含全零。
我是否错误地使用了流和阅读器对象?
c# - 使用 binarywriter 写入空字节
所以我正在使用 binarywriter 在原始字符串上写入一些字符串,但我需要覆盖二进制文件中的整个字符串,所以我试图写入新字符串,并用 0x00 覆盖旧字符串的其余部分(空字节),这是我尝试过的,但不起作用:
31 是所有旧字符串都不能侵入的常量 int (不要问我,这是一个脚本)
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 的新手,我知道我在这里遗漏了一些东西。我错过了什么?
c# - GetByteCount 显示为负数,但事实并非如此
所以我试图从 litview 子项中获取 ByteCount,但它总是显示负面错误:[Argument OutOfRangeException was unhandled: 'count' must not be negative, Parameter name: count] 这是我得到错误的代码行:
我试过这个:
不起作用,甚至使 if 条件为 '> -1',结果相同。
c# - 二进制在一个字符串后写入两个空的 unicode 字符
所以我试图在我在二进制文件中写入的每个字符串之后添加两个 0x00,这些是我尝试过的(每行尝试 1 次),但我总是在每个字符串之后只有一个 0x00:
但它们最终都得到相同的结果,我可以尝试使用另一种 Unicode 转义吗?还是我在这些方面做错了什么?顺便说一句,String enc = Encoding.Unicode
c# - BinaryWriter 覆盖现有文件 c#
要在我的袖珍电脑的内存上写一张图片,我使用以下代码:
我想问您,如果具有此名称的文件已经存在,或者因为已经存在此文件而什么都不做,那么此方法是否会用新值覆盖文件?如果该文件已经存在但具有旧值,我需要覆盖该文件。
c# - MemoryStream 读/写和数据长度
我有一个 MemoryStream /BinaryWriter ,我使用它如下:
现在阅读我执行以下操作:
我的2个问题是:
- 我读完后,位置移动到 currentPosition+readed , memSram.Length 会改变吗?
- 我想初始化流(就像我刚刚创建它一样),我是否可以再次使用 Dispose 和 new 来执行以下操作,如果没有,是否有比 dispose&new 更快的方法:
谢谢。约瑟夫
vb.net - 解析 C# 样式的十六进制字符串
我的代码有问题。我将偏移值放入列表框中,然后读取它并在文件中查找它。我使用以下代码。
问题是:我需要使用 tablica(0) 作为偏移量,使用 tablica(1) 和 tablica(2) 作为字节。我想要做的是打开文件,选择偏移量并用 tablica(2) 替换。czytana 的格式为“tablica(0): tablica(1) tablica(2).
有人介意帮忙吗?:)