[英]Reading binary file without knowing file format
我正在研究一个Java项目,我必须阅读一些类似以下的文件:-EntryID.data-EntryID.index-KeyText.data-KeyText.index ...
我认为这些文件在字典项目中使用,但我找不到任何关于此的文档。 我怎样才能阅读或了解它们的格式? 对不起,我的英语=。=
非常感谢!
这看起来像是来自数据库管理系统的文件。 一个文件用于存储数据,另一个文件用于存储至少一个索引以加快查询速度。
我将从十六进制编辑器开始,然后查看文件。 有时,内容二进制文件会提示。
另一个想法:查看类路径并检查属性和资源文件。 也许您会发现一个数据库驱动程序或一些带有jdbc连接字符串的配置文件。
Google告诉我,Apple的Dictionary.app 使用了所有四个文件 。 看看这个博客 ,这可以指出你正确的方向。
最后说明-读取未记录的二进制文件是一个挑战。 我通常从010 Editor开始分析数据结构并开发一个基于Java的测试工具来读取数据。 这是一种
尝试和错误
演化过程。
一些信息在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.