问题标签 [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.
c# - 如何将字节数组转换为字符串
我创建了一个包含两个字符串的字节数组。如何将字节数组转换为字符串?
我想转换result
为字符串。我可以使用BinaryReader
,但我不能使用BinaryReader
(不支持)。
c# - C# 读取 UTF8 UInt64
我目前正在编写一个 Flac-Decoder,因此我必须读取在 flac-header 中编码的 2 个 UTF8 值。这是在文档中:
他们在他们的 bitreader 文件Bitreader(第 1327 行)中使用自制函数来获取更大的 UTF8(可变块大小)。
我看了看它,翻译成 c# 的代码不是很好。所以我考虑使用带有 UTF8 编码的 binaryreader 并使用这种方法读取:ReadUint64。这有可能吗?结果是否相同,绝对最快的解决方案是什么?
c# - 使用 WebRequests 下载 pdf 文件
我正在尝试自动下载一些 pdf 文件,给出一个 url 列表。
这是我的代码:
所以,我知道第一部分有效。我最初是使用 TextReader 获取它并阅读它 - 但这给了我损坏的 pdf 文件(因为 pdf 是二进制文件)。
现在,如果我运行它, reader.PeekChar() 始终为 -1 并且没有任何反应 - 我得到一个空文件。
在调试它时,我注意到 reader.Read() 在我调用它时实际上给出了不同的数字 - 所以可能 Peek 坏了。
所以我尝试了一些很脏的东西
现在我得到一个非常小的文件,里面有一些垃圾,但它仍然不是我想要的。
那么,任何人都可以指出我正确的方向吗?
附加信息:
标头并未暗示其压缩或其他任何内容。
c# - 从服务器到客户端接收字节数组?BinaryReader / BinaryWriter 错误?
嗨,我是 C# 的新手,做服务器和客户端以通过 tcp/ip 套接字连接共享文本文件。我使用 BinaryReader / BinaryWriter 从客户端上传到服务器,但从服务器到客户端卡住:从客户端到服务器:
在服务器中:
公共无效ReadCallBack(IAsyncResult ar){
流.Dispose();
现在我尝试从服务器到客户端使用相同的方式但出现错误
stateObject 是错误的?
c# - 使用文件的字节数组作为字段序列化对象
我正在使用客户端-服务器程序通过网络发送文件。读取文件的字节后(使用File.ReadAllBytes()
),我将字节数组设置为对象的字段。然后序列化对象并将其发送给客户端,客户端应该反序列化对象并使用BinaryWriter
.
客户端-服务器之间的所有消息都是通过序列化一个名为 Command 的类的对象来传递的。
当文件加载到字节数组时,这种方法似乎会消耗大量内存。
谁能提出另一种机制,我可以一点一点地发送文件,而不会消耗太多内存。是否可以发送文件的内存地址,然后服务器使用客户端上的内存地址(使用循环)一点一点地拉文件?
c# - 通过 DataGrid 保留负零
我正在使用 BinaryReader 从文件中读取一些浮点数并将它们放入 DataGrid 中。我使用在 DataGrid 中获得的数据将文件保存回来,没有进行任何更改,并且在对原始文件和保存的文件进行二进制比较时,我注意到任何负零(小端序中的 0x00000080)都被转换为正零 (0x00000000)。我知道它可能不会受到伤害,但也许这样保存负零是有原因的,所以我问是否有办法处理负零。
我是否必须覆盖 ReadSingle 和 ReadDouble 并自己进行转换?有没有办法确保浮点数即使在使用 typeof(float) 放入 DataGridColumn 之后仍保持负零,然后使用 BinaryWriter 正确保存回结果文件中?
c# - 读取包含字符数组的结构
我有以下结构:
我已成功将其写入二进制文件。这是代码:
现在,在阅读这个结构时,字符数组,即 locotype[6] 给了我一个问题。我尝试了 BinaryReader.ReadChars() 方法,但它对我不起作用。请帮助我阅读此结构。
c++ - 使用 std::stringstream 读取/写入无符号字节
我正在尝试将无符号字符写入字符串流。
我需要写的信息涉及0x00。我需要将值 0 到 40 写为实际数值,而不是 ASCII 字符。
编辑:澄清一下,我写的不仅仅是0-40的值。它必须是二进制的。进来的这些东西需要保持原样,而不是一旦写入流就变成字符......
以下是我正在做的事情的概要。
最终发生的是 0x00 导致字符串流结束,而 0x01 似乎永远不会到达那里。
我正在以类似的方式阅读:
它似乎不想玩得很好,因为 0x00 被写入并导致整个事情刚刚结束。
就是这样,还是我错过了什么?我尝试过使用 ios_base::binary,也尝试过使用 uint8_t 而不是 TCHAR,但这似乎会造成一团糟。我担心这可能是需要的路线,但我想在我去做之前确定。
长话短说,我正在尝试找到与 C# 的 BinaryReader/Writer 等效的 C++。
谢谢!
binaryreader - Visual Basic.NET "输出字符缓冲区太小,无法包含解码字符,编码'Unicode (UTF-8)' fallback '系统
我正在尝试读取一个二进制文件,其中我一直在使用BinaryWriter
对象附加数据。我不断收到此错误:
“输出字符缓冲区太小,无法包含解码字符,编码 'Unicode (UTF-8)' fallback 'System.Text.DecoderReplacementFallback'。”
我的文件有|
我怀疑是问题的字符,但我不知道如何解决它。
c# - 在 C# 的大二进制文件中搜索十六进制值的有效方法是什么
与HxD编辑器中的相同功能非常相似,我正在实现一个程序,该程序在大二进制文件(> 1 GB)中搜索特定的十六进制值(比如 32 位)。内存是有限的,而且似乎逐块读取BinaryReader
类的速度很慢。HxD 在大约 12 秒内返回搜索结果(几乎到达文件末尾),这是可以接受的。