StoneAge Dict 技术方案的可行性[1]

讨论了基于StarDict开源词库构建产品的技术选型,包括平台环境(Java1.5+)、用户接口(Web:JSP,JSF+Spring2.5x;Desktop:JavaFX)和技术细节(dictzip、XML)。提出了两种词库转换方案:方案一是通过Java调用StarDict的C++库实现;方案二是纯Java编写转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上次和项目经理讨论了技术选型的事,现在简单地说一下,等下次开会再系统地讲。
1. 平台环境:
    Java1.5+
2. 用户接口:
    Web: JSP, JSF+Spring2.5x
    Desktop: JavaFX
3. 技术:
    dictzip(解析StarDict词库), XML
因为StarDict是目前很受欢迎的一个开源(GPLv3)辞典,拥有很多它做过格式统一的词库。我们可以基于这些词库构建我们的产品。

StarDict词库基本格式说明:
1. 词库*.dict.dz文件使用dictzip算法(基于gzip)压缩的,保存了词汇的解释
2. 词汇索引文件*.idx,普通二进制文件,例如:
     star       0                                             231
     ^单词    ^在dict.dz中的offset             ^在dict.dz中的解释长度
3. 信息文件*.ifo,普通文本。保存一些这个词库的说明信息,比如词汇量,版本,作者等

我们可以将StarDict的所有词库转换为我们的格式,用XML存储,压缩算法未定。

下面是词库转换子系统的可选方案:
方案一:
直接使用StarDict的C++库。Java写Adapaters,JNI调用,构建Converter。
方案二:
纯Java编写转换StarDict词库。

目前,方案二已经在实验中,可以转换少量的词汇。(Heap space overflow)

好了,先到这里。
吃年饭了,祝大家新春愉快 :-)
等晚上继续实验。。。。
 

转载于:https://www.cnblogs.com/lanzhi/archive/2008/02/06/6470691.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值