|
|
本帖最后由 tsiank 于 2022-8-28 22:13 编辑
. v8 a! L1 y K# h0 s
2 p X. H: @! x看到论坛上还有许多人对牛津高阶双解第四版很感兴趣,也有人为了完善此词典而不断修正。然而此词典的数据在不断地转制过程中,失真较多,纵有多个版本相互参照,也不一定能校正过来。昨天有个朋友提起,我又找来原光盘的数据看了看,发现里面的数据基本上是明文存储的,研究了一番,最终基本成功提取。
. t0 c" m W4 ^4 ~1 W$ |& F
' v# y+ e" o& T# Y- y1 t光盘的数据文件在DATA目录中,比较大的文件有三个:JRDCONV.DAT、JRDOVFL.DAT、JRDINDX.DAT。第三个名字一看就知道应该是词条的索引文件。第一个文件最大,词条内容应该就在这里。用Emeditor默认编码打开,里面的英文一览无遗,而且没有加密,中文是乱码,由于原光盘是繁体版,便试着把文本切换到BIG5码看看,果然中文都是正常了!再观察英文,有许多口口不能显示,而且这些口口似乎都是成对出现的,口P口p、口B口i、口I口i、口W口w,对html熟悉的人来说,瞬间就明白这些应该就是html标签。- d6 _! G8 F- B, u# A) s! D- w
3 c& N2 W! l! p2 K! d* H9 B1 ^3 K3 ^# C; C4 U( D2 z; H0 t2 y
b2 a; N- r# s9 o8 J5 f# ~如果在以前,我可能就直接用emeditor正则批量处理了,可是这些词条之间并没有什么特别独特的标记,导致不好分隔。这时我切换到16进制视图想看看到底有什么规律。然后发现每个词条在大段00后都以非00字符起始,后面再连续几个00字符,这些非0字符接数字顺序排列,最后一个词条是5716,换成10进制就是22294,这就是主词头数目了。& N6 }! Q- _6 G# {! s1 ~; ?
# X) t* J$ R- m) e) [0 y, g' z: Q1 X/ L! [: ]
0 P4 A6 i& k: Q& S8 x2 {
试着用C#写了脚本,以二进制方式读取,判断词头位置,划分词条,替换标签,转为UTF8保存。初步生成的文本如下,看起来似乎稍加处理就能用了。然后就又发现了个问题,好多词条都不完整,只有一半,另一半数据呢?答案就是在JRDOVFL.DAT这个文件中。
. }6 W/ q: c) V8 W! d* }1 s9 T8 w( u( }) Q
) J5 f/ d4 ~, C- t
JRDOVFL.DAT这个文件,每个词条在几个00后都也是以非00字符起始,这些字符也是词条序号,和JRDCONV.DAT文件中词条序号对应。一开始以为只要把这些词条追加到JRDCONV.DAT文件相应词条后面就行了,可生成后发现并不对。这个文件中有好多词条都是出现多次,需要插入到JRDCONV.DAT文件中同一词条的不同部分,这些要插入的位置都是以FF00起始。FF00后面的三个字节没看出来和JRDOVFL.DAT中的词条有什么对应关系。这就给两个文件中的词条合并增加了些困难。好在同一词条不同部分都是以先后出现的顺序插入,于是就用这个办法,以我有限的编程知识,循环套循环的实现。 K' } t- R+ U- J
" ` S" w+ K* o+ l: r) ^
: R, ]+ h' p( X! S+ t# C# D7 i3 v经过多次调整,最后算是把词典数据基本还原了。不过也不能完全保证数据完全还原,有些词条的末尾处有数据编号,没看出具体作用,可能和图片声音有关吧。代码和提取后的数据我都放出来了,想动手的人可以照此思路和方法自己试着提取。由于光盘版本身有些数据就有问题,所以提取出来的数据也非完美。有人想要完善的可在此基础上继续加工,或可以以此数据和现在数据作校对用。需要注意的是,如果以此制作词典,不要轻易删除数据,不要轻易把繁体转简体,以免再犯前人的问题。
0 t8 F7 P" C% S; w- ~& \9 e e6 U$ Q8 R8 @0 K" R
& F$ T0 X4 Y- x' M3 T2 t' p. B; E20220828更新:8 F) L7 d8 t% E! _! u5 R- U8 P O
还原自造字;4 f- y* \7 b z( z5 ?) _
音标转换为Unicode音标;" e$ d5 t+ N0 _! y9 T2 D) c! V
英文例句破折号还原;- x3 J! b/ x1 g/ f7 o! U1 a
增加牛津高阶第四版图片版;
+ h: C9 j2 A% P# ]( W+ S8 X1 E& Z& r7 z3 D! O- Z3 n9 w' \
欲了解详情,可点击个人网站 https://haibao.me
( Z: m7 I* c7 X4 P0 E# q" {- G: W6 g/ k5 o
链接: https://pan.baidu.com/s/1HYBprhXAT4aoyDKe7u-Evw?pwd=b2tt 提取码: b2tt |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
3
查看全部评分
-
|