问题标签 [binaryfiles]

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 投票
2 回答
1183 浏览

buffer - 使用 Python 2.6 从 Web 保存二进制文件的最节省内存的方法?

我正在尝试使用 Python 2.6 和 urllib 从网络下载(并保存)二进制文件。

据我了解,read()、readline() 和 readlines() 是读取类文件对象的 3 种方法。由于二进制文件并没有真正分成换行符,因此 read() 和 readlines() 将整个文件读入内存。

选择随机 read() 缓冲区大小是在此过程中限制内存使用的最有效方法吗?

IE

我随意选择了 read(1000000) ,因为它可以工作并降低 RAM 使用率。我假设如果我正在使用原始网络缓冲区,则选择随机数量会很糟糕,因为如果传输速率太低,缓冲区可能会干涸。但似乎 urllib 已经在为我处理较低级别的缓冲。

考虑到这一点,选择任意数字好吗?有没有更好的办法?

谢谢。

0 投票
8 回答
1129 浏览

ms-word - 哪些工具可用于文件的字节级检查?

我有一个部分损坏的 MS-Word 文件,我想在字节级别进行检查。

0 投票
4 回答
56249 浏览

c - 什么是二进制文件,如何创建?

我想创建一个表示整数的二进制文件。我认为该文件应该是 4 个字节。我使用Linux。怎么做?另一个问题:如何将该文件的内容分配给 C 中的整数?

0 投票
4 回答
5214 浏览

c# - 使用 System.IO.BinaryWriter 写入字符串与 char 数组的区别

我正在将文本写入 C# 中的二进制文件,并看到写入字符串和字符数组之间写入的数量差异。我正在使用 System.IO.BinaryWriter 并在写入发生时观看 BinaryWriter.BaseStream.Length。这些是我的结果:

我不明白为什么当我只写 3 个 ASCII 字符时字符串重载会写 4 个字节。谁能解释一下?

0 投票
1 回答
863 浏览

binary - 此二进制数据文件的格式/编码

我正在尝试编写一个与 Advent Axys、财务规划师软件等集成的程序。该产品的网站在这里: http: //www.advent.com/solutions/asset-managers-software/axys-platform

我需要将新条目写入价格文件,但其中大部分是二进制的。我在网上四处查看并没有找到太多,我通过电子邮件发送了他们的支持,但我怀疑它会有所帮助。

我有一个简短的虚拟文件和程序提供给所述文件的打印输出。我通过一个 ruby​​ 脚本运行文件,如果它是单词字符或符号,则打印字符,否则打印 ASCII val。这是 Ruby 脚本:

并输出:

p>

请注意,如果数字周围有空格,则表示它是字节的值,如果没有,则字节的值是该数字的 ASCII 表示。

我知道字母串(如“adusnok”)是股票等的表示。然后是 0-ed 位,因为符号的空间是固定大小的(这就是为什么在较长的符号之后有较少的 0 的原因)。这个序列@ 1 254 250 251 252 29 0 0 2似乎意味着一个记录的结束,就在新记录的符号之前。或者,其中一些可能表示所有这些都相同的东西,但似乎没有多少相同。在那之后,我基本上什么都不知道了。我确实有程序认为映射到什么的打印输出。每列用 3 个空格分隔,即:

还有更多,但这应该给你一个很好的主意。我认为描述和其他可能的东西很可能存储在其他文件中并且只是查找。但我知道价格在那个文件中,因为这些是价格文件,这就是重点。所以:

33333s7 => 23.45 H225 z 20 174 GA => 34.56 246 (\ 143 194 213 F => 45.67

请注意,将 3 和 7 保存在第一个中,所有数字都有字节的值,而不是值的 ASCII 表示。另请注意,这些值可能不仅仅代表价格,但它们绝对代表价格。

有任何想法吗?我不熟悉常见的二进制编码,但如果他们使用相当常见的方法,我不会感到惊讶。

0 投票
2 回答
1549 浏览

google-app-engine - 在 GAE/J + Google DataStore 上存储二进制文件

我正在使用 Java (GAE/J) 在 Google AppEngine 上构建应用程序,我的所有数据都将存储在 Google DataStore 中。现在,如果我想保存一些二进制文件,比如说图像(JPG、PNG 等)、DOC、TXT、视频文件,我该如何处理这些文件?或者,如果我想流式传输视频文件 (SWF),我应该在哪里以及如何存储这些文件,并且当我重新部署我的应用程序时,我不会丢失任何数据。

0 投票
3 回答
762 浏览

c# - 如何模仿内置的 .NET 序列化习语?

我有一个库(用 C# 编写),我需要将我的对象的表示以特定的二进制格式读/写到磁盘(或任何流)(以确保与 C/Java 库实现的兼容性)。该格式需要大量的位打包和一些 DEFLATE 字节流。但是,我希望我的库尽可能地使用惯用的 .NET,因此希望提供一个尽可能接近正常二进制序列化过程的 API。我知道实现 IFormatter 接口的能力,但是由于我真的无法重用内置序列化堆栈的任何部分,是否值得这样做,或者它只会带来不必要的开销。换句话说:

实施 IFormatter 和合作。

或者

只提供作用于流的“序列化”/“反序列化”方法?


下面提出了一个很好的观点,即在涉及远程处理的任何情况下都需要序列化语义。在使用 MarshalByRef 对象可行的情况下,我很确定这不会成为问题,所以撇开这一点不谈,使用 ISerializable/IFormatter 与自定义堆栈相比有什么好处或坏处(或者,我的理解是远程错误)?

0 投票
2 回答
1803 浏览

java - 从 XLST 生成低阶不可打印字符

我正在尝试使用 XSLT 文本输出来生成文件(以我无法控制的文件格式),虽然它主要是文本,但它包括低阶不可打印字符作为标志,包括字符在 XLST 文件中无效(根据 XSLT 规范)。

我希望像下面这样的东西可以工作,但它不是有效的 XSLT 文件,因为它包含 XSLT 文件中不允许的字符:

我收到以下错误:

我也尝试过使用实际字符 1,有或没有 CDATA 部分、xsl:text 元素、xslt-2 字符映射、几种不同的编码,但我不知道如何用二进制获取 ascii 字符代码 = 1。

我不得不对输出进行后处理,这并不理想。

有没有办法从 XSLT 生成单个低阶不可打印字符输出?

环境:Java 6,内置 XSL Transformer。

0 投票
4 回答
23369 浏览

svn - 二进制文件的 Git 或 Subversion

我们需要将二进制文件(主要是 MS Word 文档,大小从几 KB 到几 MB 不等)存储在一个包含 100 多个“项目”的版本控制存储库中。目前我们使用Visual Source Safe,但存在一些问题,数据库有时会崩溃,访问速度很慢。

我们正在考虑迁移到 Git 或 Subversion,我们想知道哪个是处理二进制文件的更好选择。

0 投票
3 回答
4786 浏览

ruby - 在 Ruby 中解析二进制文件

我需要能够用 Ruby 解析二进制文件。该文件包含通过包含文件偏移量和每个块的长度的标头找到的数据块。

如何正确获取数据?到目前为止,我一直无法根据我读出的偏移量在文件中四处寻找,因为它们以我不知道如何转换为 IO#seek 理解的格式的字符串形式出现。

有什么帮助吗?将偏移量和长度转换为可用的东西(如整数或其他东西)的一般方法会有所帮助。