如何分析freedict文件(*.dict和*.index)

2024-10-02 00:21:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我在找意译词典。Freedict(freedict.org)提供了我需要的,但我不知道如何解析*.index和*.dict文件。我也不知道,谷歌应该怎么做,才能找到关于这些格式的有用信息。在

*.index文件如下所示:

00databasealphabet  QdGI    l
00databasedictfmt1121   B   b
00databaseinfo  c   5o
00databaseshort 6E  u
00databaseurl   6y  c
00databaseutf8  A   B
a   BHO M
a bad risc  BHa u
a bag of nerves BII 2
[...]

以及*.dict文件:

^{pr2}$

我很高兴看到一些示例项目(最好是python,但java、c、c++也可以)来理解如何处理这些文件。在


Tags: 文件orginfo信息index格式databasedict
2条回答

dictd将其.index和.dict[.dz]的格式视为私有,以保留将来更改它的权利。在

如果您想直接处理它,索引包含标题词,而.dict[.dz]包含定义。它可以选择使用一个特殊的修改过的gzip算法进行压缩,gzip通常不提供随机访问。索引每行包含3列,用制表符分隔:

  1. 查找定义的标题词。在
  2. .dict[.dz]文件中定义的绝对字节位置,base64编码。在
  3. 定义的长度(字节),base64编码。在

如需了解更多详细信息,请参阅dict(8) man page(部分数据库格式),您应该在提出问题之前在研究中找到。为了正确处理标题词,您必须考虑编码和字符排序。在

最终,最好使用现有的库来读取dictd数据库。但这实际上取决于图书馆是否好(这里没有经验)。在

最后,正如您自己所指出的,XML是为了方便处理而制作的。您可以使用XPath提取标题词和翻译,省去所有语法内容,也无需费心解析任何内容。在

在走到这一步之后,下一个问题是不同语言的单词之间没有一对一的映射。。。在

太晚了。但是,我希望它能对像我这样的人有用。在

JGoerzen编写Dictdlib库。您可以看到他如何解析.index和.dict文件的更多细节。 https://github.com/jgoerzen/dictdlib/blob/master/dictdlib.py

相关问题 更多 >

    热门问题