繁体   English   中英

不知道文件格式就读二进制文件

[英]Reading binary file without knowing file format

我正在研究一个Java项目,我必须阅读一些类似以下的文件:-EntryID.data-EntryID.index-KeyText.data-KeyText.index ...

我认为这些文件在字典项目中使用,但我找不到任何关于此的文档。 我怎样才能阅读或了解它们的格式? 对不起,我的英语=。=

非常感谢!

看起来像是来自数据库管理系统的文件。 一个文件用于存储数据,另一个文件用于存储至少一个索引以加快查询速度。

我将从十六进制编辑器开始,然后查看文件。 有时,内容二进制文件会提示。

另一个想法:查看类路径并检查属性和资源文件。 也许您会发现一个数据库驱动程序或一些带有jdbc连接字符串的配置文件。


Google告诉我,Apple的Dictionary.app 使用所有四个文件 看看这个博客 ,这可以指出你正确的方向。


最后说明-读取未记录的二进制文件是一个挑战。 我通常从010 Editor开始分析数据结构并开发一个基于Java的测试工具来读取数据。 这是一种 尝试和错误 演化过程。

好吧,这有点困难。 数据可能意味着任何事情。

您可以尝试UNIX实用程序文件或使用十六进制编辑器打开文件并查找有趣的字符串(实用程序字符串也对此有帮助)。

一些信息在info.plist中。
KeyText.data有时使用zlib进行压缩。 78 9C是众所周知的zlib-header,因此您可以在找到它时解压缩。 解压缩条目的大小先于压缩条目。
条目大小在数组输入之前。

C#库位于https://github.com/kurema/MacDictionaryGeneral 但* .index太难理解和实施。 info.plist说* .index是trie索引,这是完全无法理解的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM