问题标签 [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 投票
5 回答
2349 浏览

binaryfiles - 如何提取 .hpi 文件的 .jpg/.png 组件?

我偶然发现了我相当古老的照片对象磁盘,遗憾地发现该公司(hemera)不再为它提供支持。这给我留下了一大堆 .hpi 文件。幸运的是,我找到有关提取文件的 jpg 和 png 组件的信息。

不幸的是,我无法让它工作。谁能弄清楚这段代码有什么问题?如果您不喜欢 Perl,我会很高兴使用 PHP 或 Python 解决方案。:)

我从 CD 上抓取的当前测试文件的 hexdump 在这里,如果它有帮助的话:

0 投票
30 回答
1604293 浏览

javascript - 如何在 JavaScript 中将字符串编码为 Base64?

我有一个 PHP 脚本,可以将 PNG 图像编码为 Base64 字符串。

我想用 JavaScript 做同样的事情。我知道如何打开文件,但我不确定如何进行编码。我不习惯使用二进制数据。

0 投票
11 回答
33674 浏览

c++ - 如何将文件内容识别为 ASCII 或二进制

您如何使用 C++ 识别文件内容是 ASCII 还是二进制?

0 投票
12 回答
72943 浏览

java - 使用 Java 读取结构化二进制文件的最佳方法

我必须使用 Java 读取旧格式的二进制文件。

简而言之,该文件的标题由几个整数、字节和固定长度的字符数组组成,然后是一个记录列表,该列表也由整数和字符组成。

在任何其他语言中,我都会创建structs (C/C++) 或records (Pascal/Delphi),它们是标题和记录的逐字节表示。然后我将sizeof(header)字节读入头变量并对记录执行相同的操作。

像这样的东西:(德尔福)

用 Java 做类似事情的最佳方法是什么?我是否必须自己读取每个值,还是有其他方法可以进行这种“块读取”?

0 投票
18 回答
136327 浏览

database - 存储上传的图像、SQL 数据库或磁盘文件系统的最佳位置是什么?

我正在编写一个允许用户将图像上传到服务器的应用程序。我预计每天大约 20 张图片都是 jpeg 并且可能没有编辑/调整大小。(这是另一个问题,如何在存储之前调整服务器端的图像大小。也许有人可以在评论中删除一个 .NET 资源)。我现在想知道存储上传图像的最佳位置是什么。

  • 将图像作为文件存储在文件系统中,并在具有该图像的确切路径的表中创建记录。

  • 或者,使用数据库服务器的“图像”或“二进制数据”数据类型将图像本身存储在表中。

我看到两者的优点和缺点。我喜欢 a) 因为我可以轻松地重新定位文件并且只需要更改表条目。另一方面,我不喜欢将业务数据存储在 Web 服务器上,并且我真的不想将 Web 服务器连接到任何其他保存业务数据的数据源(出于安全原因)我喜欢 b)因为所有信息都是在一个地方,并通过查询轻松访问。另一方面,数据库很快就会变得非常大。外包这些数据可能会更加困难。

0 投票
3 回答
3173 浏览

c++ - C++ 霍夫曼代码头

基本上,我有我的霍夫曼表

其中 string 是位模式,char 是所述模式表示的值。问题是如何将其存储为压缩文件的标题,以便在我想解码时可以再次构建相同的地图?

尝试将其存储为二进制:

后来建立:

不起作用,我得到字符串初始化错误......与NULL有关。有什么建议么?如果您有更好的方法来存储我想听的位和值。

0 投票
12 回答
10406 浏览

c++ - 在二进制数据文件的标头中放入什么

我有一个模拟,可以读取我们创建的大型二进制数据文件(10 到 100 GB)。出于速度原因,我们使用二进制文件。这些文件是系统相关的,是从我们运行的每个系统上的文本文件转换而来的,所以我不关心可移植性。这些文件目前是许多使用 fwrite 编写的 POD 结构实例。

我需要更改结构,因此我想添加一个包含文件版本号的标头,该标头将在结构更改时递增。由于我正在这样做,我还想添加一些其他信息。我在考虑结构的大小、字节顺序,也许还有创建二进制文件的代码的 svn 版本号。还有什么有用的补充吗?

0 投票
3 回答
3488 浏览

reverse-engineering - 如何对二进制文件格式进行逆向工程以实现兼容性

我正在开发一种文件准备软件,以使翻译人员能够轻松有效地处理各种文件格式。

就基于文本的格式(xml、php、资源文件...)而言,我的小型准备实用程序运行良好,但对于大多数翻译人员来说,一个主要问题是处理各种专有的二进制格式(Framemaker、Publisher、夸克……)。

这些文件很少被请求并且需要在昂贵的应用程序中打开(很少有自由职业者能买得起价值 20,000 美元的软件来每年处理几个项目),即便如此,直接在这些应用程序中工作也不方便。

我希望能够读取这些文件并以这样的方式提取文本,以便可以翻译它然后以最小的努力重新导入到原始应用程序中,甚至更好地重新创建一个有效的本机二进制文件。

这听起来可行吗?

我在哪里可以找到有关处理二进制文件格式的更多信息,以及这些工作是否有有用的工具(除了常规的十六进制编辑器)?

提前致谢。

0 投票
12 回答
197790 浏览

git - 使用 Git 管理大型二进制文件

我正在寻找有关如何处理我的源代码(Web 应用程序)所依赖的大型二进制文件的意见。我们目前正在讨论几种替代方案:

  1. 手动复制二进制文件。
    • 临:不确定。
    • 反对:我强烈反对这一点,因为它增加了设置新站点/迁移旧站点时出错的可能性。建立另一个障碍。
  2. 使用Git管理它们。
    • 优点:消除了“忘记”复制重要文件的可能性
    • Contra:使存储库膨胀并降低管理代码库和签出、克隆等的灵活性,这将需要相当长的时间。
  3. 单独的存储库。
    • 优点:签出/克隆源代码的速度与以往一样快,并且图像已正确存档在自己的存储库中。
    • Contra:消除了在项目中拥有唯一的 Git 存储库的简单性。它肯定会介绍一些我没有想到的其他事情。

您对此有何经验/想法?

另外:有没有人有使用多个 Git 存储库并在一个项目中管理它们的经验?

这些文件是生成包含这些文件的 PDF 的程序的图像。这些文件不会经常更改(如几年),但它们与程序非常相关。没有这些文件,该程序将无法运行。

0 投票
2 回答
13094 浏览

database - 评估 HDF5:HDF5 为数据建模提供了哪些限制/功能?

我们正在评估用于存储在分析 C/C++ 代码期间收集的数据的技术。在 C++ 的情况下,数据量可能比较大,每个 TU 约 20Mb。

阅读以下 SO答案后,我认为HDF5可能是适合我们使用的技术。我想知道这里的人是否可以帮助我回答我最初遇到的一些问题:

  1. 表现。数据的一般用法是写入一次并读取“多次”,类似于编译器生成的“.o”文件的生命周期。HDF5 与使用 SQLite DB 之类的东西相比如何?这甚至是一个合理的比较吗?

  2. 随着时间的推移,我们将添加到我们正在存储的信息中,但不一定要重新分发一组全新的“阅读器”来支持新格式。阅读用户指南后,我了解到 HDF5 类似于 XML 或 DB,因为该信息与标签/列相关联,因此为读取旧结构而构建的工具只会忽略它不关心的字段?我对此的理解正确吗?

  3. 我们希望写出的大部分信息将是一种树型结构:作用域层次结构、类型层次结构等。理想情况下,我们会将作用域建模为具有父级、子级等。是否可以有一个 HDF5 对象“点”给另一个?如果没有,是否有使用 HDF5 解决此问题的标准技术?或者,正如数据库所要求的那样,我们是否需要一个唯一的键来在搜索数据时通过适当的查找将一个对象“链接”到另一个对象?

非常感谢!