我有我需要转储到某种文本格式,编辑的,然后重新编译(可能以一个稍微不同的版本的二进制格式的)各种二进制文件格式。当然,我可以写一堆的C / C ++做这种事情实用代码,也许利用了事物的文字侧(XML或JSON或其他)图书馆,但是这是保持种植了任务模式在我的工作,在我看来,有可能应该存在某种通用工具的这样的工作的。

显然,将需要说明的二进制文件格式的一些方法 - 模式或一些这样的 - 这将需要支持所有的明显的数据类型(字符串,各种尺寸,布尔变量等整型,浮点型将是很好太),事情就是这样计数字段,长度字段,填充/对齐方式等,来处理所有你在数据文件中找到典型的东西。这也将是有大小端的支持有用,因为二进制文件可能有不同的字节顺序比我们正在运行的平台。

我会非常惊讶,如果这样的事情已经不存在,但我有没有运气通过谷歌迄今(你怎么甚至描述了这样一个实用程序或库简洁?)。这个我曾经记得看到最近的事情是苹果公司的资源编译器/反编译器公用事业“经典”的Mac OS的天回。这些中使用的类似C的语法,用资源模板定义在头文件中描述各种二进制资源的格式,你可以编译该C状源语法和二进制资源之间/反编译。

有帮助吗?

解决方案

BINX,所述二进制XML描述语言,加上相应的库,似乎适合你的目的。

同样感兴趣的可能是第24章实用:解析二进制文件 实用的Common Lisp 的书,它演示了如何写一个库,用于在分析ID3标签(二进制在<强> 150线 的Lisp代码)MP3文件。 *

*现在,我可能不会使用Lisp语言,而是一种更现代的函数式语言如 Clojure的。看到Clojure中 读取二进制数据一个例子。

P.S。 binary data librarybinary data file library是谷歌好的关键字。

其他提示

在Mac App Store的

“SynalyzeIt” 可能是值得一试...

scroll top