# MDX,MDD解压和压缩是何规范？有哪些类库可用？

**URL:** <https://forum.freemdict.com/t/topic/4964>\
**Category:** 技术交流与词典编修\
**Created:** [2021 年2 月 14 日 03:58 UTC](https://forum.freemdict.com/t/topic/4964 "2021-02-14T03:58:52Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

作者： ![lbhl](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/l/bcef8e/32.png) [@lbhl](https://forum.freemdict.com/u/lbhl)\
发布日期： [2021 年2 月 14 日 03:58 UTC](https://forum.freemdict.com/t/topic/4964/1 "2021-02-14T03:58:53Z")

</div>

自己用C#编程做了一个图片词典小工具，生成MDX格式的TXT文本文件之后最后一步是压缩成.mdx格式，不想再去运行MdxBuilder压缩了，想在自己的工具里集成MdxBuilder做的压缩MDX的事。

MDX,MDD解压和压缩是何规范？有哪些类库可供程序员使用？有JAVA,C#现成的库最好了。因为我不相信核心压缩算法是MdxBuilder软件编制者自己发明的，估计是类似ZIP/RAR之类的现成压缩算法稍微改一下？肯定有现成调用的工具库的吧?

如果以上问题无解，既然我没办法去调用库方法，那有无办法在自己的程序中调用MdxBuilder软件呢？

貌似有朋友的工具已经解决了这个问题，他们是在EXCEL或者PYTHON中调用的？这些都是脚本设计语言,看起来所有为词典相关编程的都是在用PYTHON,这个语言流行的程度超出了我的想象，但本人不大熟悉它。如果用C#或者JAVA有没有办法调用MdxBuilder呢？

---

<div class="post-metadata">

作者： ![hua](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/hua/32/11090_2.png) [@hua](https://forum.freemdict.com/u/hua)\
发布日期： [2021 年2 月 14 日 04:03 UTC](https://forum.freemdict.com/t/topic/4964/2 "2021-02-14T04:03:43Z")

</div>

调用是调用不了原版的。

mdxbuilder有其他语言的实现，如 python，javascript

> **[GitHub - zhansliu/writemdict: A library for writing dictionary files in the...](https://github.com/zhansliu/writemdict)**
>
> A library for writing dictionary files in the MDict (.mdx) format - GitHub - zhansliu/writemdict: A library for writing dictionary files in the MDict (.mdx) format

**这些其他语言的实现都不是官方版本** ，也就是说，你也可以自己照着python写一个 c sharp 版本的。

---

<div class="post-metadata">

作者： ![lbhl](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/l/bcef8e/32.png) [@lbhl](https://forum.freemdict.com/u/lbhl)\
发布日期： [2021 年2 月 14 日 09:47 UTC](https://forum.freemdict.com/t/topic/4964/3 "2021-02-14T09:47:24Z")

</div>

地球上最先发明和使用MDX的是谁？如果编写MdxBuilder或者MdxExport两个软件的作者都不是最先发明和使用MDX的那个人，那么这两个作者能最终开发出来软件，只可能是通过以下两种途径：  
（1）找到最先发明和使用MDX的人公开的技术文档仔细研究，文档可能包括源码但不包括调用API库。有了文档和参考代码研读懂了自然用于可以自己的编程了，无论用什么编程语言，哪怕不同于发明人用的语言  
（2）最先发明和使用MDX的人提供编译好的现成调用库，写MdxBuilder或者MdxExport的作者只要调用现成的库就可以了，无需知道底层实现细节。

hua: 您给的这个github.com就是除了MdxBuilder外，另一种制作MDX的源码吗？我参考它本质上就是属于前述第一种途径对吗？那么有没有第二种途径呢？哪里能看到MdxBuilder或者MdxExport的源码呢？

---

<div class="post-metadata">

作者： ![hua](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/hua/32/11090_2.png) [@hua](https://forum.freemdict.com/u/hua)\
发布日期： [2021 年2 月 14 日 10:59 UTC](https://forum.freemdict.com/t/topic/4964/4 "2021-02-14T10:59:23Z")

</div>

不开源，也没有任何技术文档，现有的都是逆向而来。

世界上除了提供源代码的程序，还有不提供源代码的程序。

---

<div class="post-metadata">

作者： ![RANP0](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/r/848f3c/32.png) [@RANP0](https://forum.freemdict.com/u/RANP0)\
发布日期： [2021 年2 月 15 日 21:40 UTC](https://forum.freemdict.com/t/topic/4964/5 "2021-02-15T21:40:15Z")

</div>

唉，我们论坛叫freemdict，可惜mdict本身就不是自由程序。。

---

<div class="post-metadata">

作者： ![who2014814](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/w/96bed5/32.png) [@who2014814](https://forum.freemdict.com/u/who2014814)\
发布日期： [2021 年2 月 18 日 10:44 UTC](https://forum.freemdict.com/t/topic/4964/6 "2021-02-18T10:44:29Z")

</div>

请问hua，我要在程序里查询一个单词，用什么api可以操作mdx呢

---

<div class="post-metadata">

作者： ![lbhl](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/l/bcef8e/32.png) [@lbhl](https://forum.freemdict.com/u/lbhl)\
发布日期： [2021 年2 月 18 日 10:47 UTC](https://forum.freemdict.com/t/topic/4964/7 "2021-02-18T10:47:02Z")

</div>

别问Hua了，还是去问欧路，深蓝的作者吧，官网有技术支持可以问的，他们肯定知道！

---

<div class="post-metadata">

作者： ![hua](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/hua/32/11090_2.png) [@hua](https://forum.freemdict.com/u/hua)\
发布日期： [2021 年2 月 18 日 11:16 UTC](https://forum.freemdict.com/t/topic/4964/8 "2021-02-18T11:16:06Z")

</div>

> <https://github.com/csarron/mdict-analysis/blob/master/readmdict.py>

可以看看。
