问题标签 [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 回答
82282 浏览

php - php:从二进制数据重新创建并显示图像

是否可以从二进制数据重新创建图像(如果需要,处理它们)并显示它们,所有这些都在同一个脚本中?就像是

我想避免在处理并从那里获取图像或使用外部脚本后将图像存储到磁盘...

0 投票
3 回答
1055 浏览

.net - .NET 的二进制文件解析库

最近我的任务是制作一个二进制文件解析器,但是这是第一次使用 C#/.NET 来解决这类问题。从所需的二进制文件中解析和提取数据非常简单,因为它们的结构很简单(尽管我不得不说这是不寻常的,而不是简单的 C/C++ 方式;而且据我深入研究,.NET 并没有支持以相反顺序存储的值[确定我可能是错的])。有很多更复杂的问题,它们需要更灵活的解析方式,所以我尝试谷歌搜索一些允许处理复杂数据结构并使用结构和字段属性以声明方式描述它们的库。此刻我只找到了一个Java框架Preon(这里这里)。我看到 Preon 非常适合这些问题,它允许以声明方式描述数据结构,使其非常灵活,但是 Preon 是否有任何用于 .NET 的端口或类似物?

谢谢。

0 投票
3 回答
2161 浏览

c# - 以二进制格式保存字符串数组

我正在寻找将每个字符串转换为每个字符串定义长度的 BitArray 的最快方法(如果字符串大于定义的长度并且如果字符串大小更小,则应修剪字符串,剩余位将填充为假),然后放入将这两个字符串放在一起并将其写入二进制文件。

编辑:@dtb:一个简单的例子可以像这样 value1 = "A" ,value2 = "B" and length1 =8 and length2 = 16 结果将是 010000010000000001000010 前 8 位来自 "A" 和接下来的 16 位来自“B”

0 投票
2 回答
1390 浏览

compiler-construction - 用于编译/反编译二进制数据文件的通用实用程序或库?

我有各种二进制文件格式,我需要转储为某种文本格式,编辑然后重新编译(可能是二进制格式的稍微不同的版本)。当然,我可以用 C/C++ 编写一堆实用程序代码来做这种事情,并且可能利用库来处理文本方面的事情(XML 或 JSON 或其他),但这是一种不断出现的任务模式在我的工作中,在我看来,可能应该已经存在某种用于此类工作的通用工具。

显然,需要某种方式来描述二进制文件格式——架构或类似的——这将需要支持所有明显的数据类型(字符串、各种大小的整数、布尔值等,浮点数也不错),以及计数字段、长度字段、填充/对齐等内容,以处理您在数据文件中找到的所有典型内容。支持字节序也很有用,因为二进制文件的字节序可能与我们运行的平台不同。

如果这样的东西尚不存在,我会感到非常惊讶,但到目前为止我还没有通过谷歌获得运气(你甚至如何简洁地描述这样的实用程序或库?)。我记得最接近这一点的是苹果在“经典”Mac OS 时代的资源编译器/反编译器实用程序。这些使用类 C 语法,在头文件中使用资源模板定义来描述各种二进制资源的格式,您可以在这种类 C 源语法和二进制资源之间进行编译/反编译。

0 投票
2 回答
358 浏览

binaryfiles - 我为教育、娱乐和实际应用编写哪个文件转换器?

我正在寻找一些现实世界的应用程序任务,单枪匹马会给我一些编程经验。我正在考虑文件格式转换器,但我不确定要选择哪对格式。我更喜欢二进制或混合格式作为更棘手的格式。您建议我查看哪些现有文件格式转换?

提前致谢

0 投票
3 回答
2661 浏览

c++ - C++ 中的二进制 .dat 文件问题

我想将具有浮点值的大型文本文件的大小缩小到二进制 .dat 文件中,所以我使用了(在 C++ 中):

然后,我想将之前创建的二进制文件中的所有浮点值读取到浮点值数组中。但是当我尝试从这个文件中读取时,我在最后一行代码(读取过程)出现异常:

我究竟做错了什么?

0 投票
1 回答
190 浏览

editor - 为二进制文件创建编辑器

我有一个相当简单的二进制文件格式,我希望为其创建一个编辑器:

  • 能够加载文件
  • 可以保存文件
  • 允许用户更改各个字段的值等
  • 能够将使用旧版本格式的文件转换为新版本

显然我可以用 C#、Python 等编写东西……但是我想知道是否有更简单的选项来创建这样的基本编辑器,它只允许我描述文件的内容和任何条件/验证,而不必自己编写所有的 IO 和编辑代码?

0 投票
3 回答
1538 浏览

python - 在 Python 中读取二进制文件:读取某些字节需要很长时间

这很奇怪

我正在使用 Python 中的 numpy 库读取一些(当然非常大:每个约 2GB)二进制文件。我正在使用:

方法。这正好在一个嵌套循环的中间——我每个“通道”循环 4096 次,这个“通道”循环每个“接收器”循环 9 次,这个“接收器”循环 4 次(有 9 个通道每个接收器,其中有 4 个!)。这是针对每个“块”的,其中每个文件大约有 3600 个。

所以你可以看到,非常迭代,我知道这需要很长时间,但它比我预期的要长很多——平均每个“块”需要 8.5 秒。

我使用 time.clock() 等运行了一些基准测试,发现一切都以应有的速度运行,除了每个“块”大约 1 或 2 个样本(因此 4096*9*4 中的 1 或 2 个)似乎得到“卡住”几秒钟。现在这应该是从二进制返回一个简单的 int16 的情况,而不是应该花费几秒钟的东西......为什么它会粘住?

从基准测试中我发现它每次都停留在相同的位置(块 2,接收器 8,通道 3,样本 1085 就是其中之一,记录在案!),并且它会卡在那里大约相同的时间每次运行的时间。

有任何想法吗?!

谢谢,

邓肯

0 投票
3 回答
6774 浏览

c# - .NET 4.0 内存映射文件性能

我想知道是否有人尝试过新的 .NET 4.0 内存映射文件功能?我知道它们与 OS 一样古老,但 .NET 中的本机处理是新的。

有没有人能够对此进行测试并谈论性能?我对二进制文件随机部分的访问时间、写入速度等非常感兴趣。与本机 WinAPI MMF 的性能比较也会很好。

谢谢!

0 投票
1 回答
1592 浏览

linker - 什么是二进制格式的“对齐”字段?为什么需要它?

ELF文件格式中,我们在aka中有一个Alignment字段。Segment Header TableProgram Header Table

在 Windows PE 文件格式的情况下,他们将其提升到下一个级别,Section 有两个对齐值,一个在磁盘文件中,另一个在内存中。PE 文件头指定了这两个值。

我对这种对齐方式一无所知。我们需要它做什么?如何以及在哪里使用它?同样,我不知道二进制文件格式上下文中的对齐是什么,但我们为什么需要它?