掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2827|回复: 14

[工具] 20220828更新—牛津高阶双解第四版光盘数据简单分析和提取

[复制链接]

该用户从未签到

发表于 2022-8-16 00:15:32 | 显示全部楼层 |阅读模式
本帖最后由 tsiank 于 2022-8-28 22:13 编辑 * i0 U8 b, @' N4 k5 U

: }2 E4 F) j! G) a看到论坛上还有许多人对牛津高阶双解第四版很感兴趣,也有人为了完善此词典而不断修正。然而此词典的数据在不断地转制过程中,失真较多,纵有多个版本相互参照,也不一定能校正过来。昨天有个朋友提起,我又找来原光盘的数据看了看,发现里面的数据基本上是明文存储的,研究了一番,最终基本成功提取。, }% _( N8 I, [. J( }
: Y4 V! b. i, v* j. |5 x5 e* M6 K
光盘的数据文件在DATA目录中,比较大的文件有三个:JRDCONV.DAT、JRDOVFL.DAT、JRDINDX.DAT。第三个名字一看就知道应该是词条的索引文件。第一个文件最大,词条内容应该就在这里。用Emeditor默认编码打开,里面的英文一览无遗,而且没有加密,中文是乱码,由于原光盘是繁体版,便试着把文本切换到BIG5码看看,果然中文都是正常了!再观察英文,有许多口口不能显示,而且这些口口似乎都是成对出现的,口P口p、口B口i、口I口i、口W口w,对html熟悉的人来说,瞬间就明白这些应该就是html标签。
4 i; c5 S4 [. N3 Z0 [! p+ f% l6 ^/ I/ r( g

, W. i& _. S! R5 _" G7 J: p5 I- ?+ T# @% m9 h( n" X
如果在以前,我可能就直接用emeditor正则批量处理了,可是这些词条之间并没有什么特别独特的标记,导致不好分隔。这时我切换到16进制视图想看看到底有什么规律。然后发现每个词条在大段00后都以非00字符起始,后面再连续几个00字符,这些非0字符接数字顺序排列,最后一个词条是5716,换成10进制就是22294,这就是主词头数目了。6 @3 `1 u3 I( k" J. ?3 h

4 B1 F% \' I" A9 e1 M9 l
8 s' I6 U( j8 c  r- W( l. R) D% O. g7 L1 Y2 j$ Z: b
试着用C#写了脚本,以二进制方式读取,判断词头位置,划分词条,替换标签,转为UTF8保存。初步生成的文本如下,看起来似乎稍加处理就能用了。然后就又发现了个问题,好多词条都不完整,只有一半,另一半数据呢?答案就是在JRDOVFL.DAT这个文件中。& O" A$ k& g. @* W  r2 D
) u/ N1 G8 R- I  v: G9 |
8 C( |0 `& A0 D+ Q; I
JRDOVFL.DAT这个文件,每个词条在几个00后都也是以非00字符起始,这些字符也是词条序号,和JRDCONV.DAT文件中词条序号对应。一开始以为只要把这些词条追加到JRDCONV.DAT文件相应词条后面就行了,可生成后发现并不对。这个文件中有好多词条都是出现多次,需要插入到JRDCONV.DAT文件中同一词条的不同部分,这些要插入的位置都是以FF00起始。FF00后面的三个字节没看出来和JRDOVFL.DAT中的词条有什么对应关系。这就给两个文件中的词条合并增加了些困难。好在同一词条不同部分都是以先后出现的顺序插入,于是就用这个办法,以我有限的编程知识,循环套循环的实现。
  H* U5 C: _5 y3 R8 g5 B6 h3 R, H# I- t9 E5 s0 X5 _. Z: i9 l
. l1 N  P# b& W: K
经过多次调整,最后算是把词典数据基本还原了。不过也不能完全保证数据完全还原,有些词条的末尾处有数据编号,没看出具体作用,可能和图片声音有关吧。代码和提取后的数据我都放出来了,想动手的人可以照此思路和方法自己试着提取。由于光盘版本身有些数据就有问题,所以提取出来的数据也非完美。有人想要完善的可在此基础上继续加工,或可以以此数据和现在数据作校对用。需要注意的是,如果以此制作词典,不要轻易删除数据,不要轻易把繁体转简体,以免再犯前人的问题。
$ Q2 r+ t' {9 j9 Q8 i2 S
$ b2 u+ l! J* Y2 r' @- `8 p% C. m8 F' F& d; J3 h6 `# |
20220828更新:- x- \1 v2 g: `! q8 q& `
还原自造字;
4 V% ^& V" e4 \% c% E/ K  e( i音标转换为Unicode音标;
) M$ v- F' i5 w" M. n7 A( l英文例句破折号还原;, A4 k1 E3 I) s2 Q7 I
增加牛津高阶第四版图片版;  D1 g  p1 r5 x5 B
6 |+ J4 O" ~! B! G9 X+ `. T: r) y4 |
欲了解详情,可点击个人网站 https://haibao.me
7 J  X6 J" a$ r1 F
& U* Q+ X8 a8 k6 V( Z! i链接: https://pan.baidu.com/s/1HYBprhXAT4aoyDKe7u-Evw?pwd=b2tt 提取码: b2tt

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

3

查看全部评分

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 1046 天

    [LV.10]以坛为家III

    发表于 2022-8-16 02:45:24 | 显示全部楼层
    感谢楼主无私分享!

    该用户从未签到

    发表于 2022-8-16 04:28:59 | 显示全部楼层
    謝謝您費心!!
  • TA的每日心情
    开心
    2025-2-24 20:24
  • 签到天数: 559 天

    [LV.9]以坛为家II

    发表于 2022-8-16 14:39:24 | 显示全部楼层
    谢谢分享!祝您快乐~

    该用户从未签到

    发表于 2022-8-17 14:13:40 | 显示全部楼层
    辛苦了,谢谢
  • TA的每日心情
    开心
    昨天 08:50
  • 签到天数: 993 天

    [LV.10]以坛为家III

    发表于 2022-8-18 14:12:56 | 显示全部楼层
    感谢LZ分享
  • TA的每日心情
    开心
    2024-4-13 19:35
  • 签到天数: 679 天

    [LV.9]以坛为家II

    发表于 2022-8-28 14:23:44 | 显示全部楼层
    感谢LZ分享!
  • TA的每日心情
    开心
    2025-1-12 09:13
  • 签到天数: 334 天

    [LV.8]以坛为家I

    发表于 2022-11-12 09:54:24 | 显示全部楼层
    请楼主更新一下链接,多谢
  • TA的每日心情
    开心
    2023-4-6 14:47
  • 签到天数: 425 天

    [LV.9]以坛为家II

    发表于 2022-11-16 15:51:25 来自手机 | 显示全部楼层
    给大佬点赞
  • TA的每日心情
    慵懒
    2023-1-10 21:48
  • 签到天数: 802 天

    [LV.10]以坛为家III

    发表于 2022-11-19 10:57:17 | 显示全部楼层
    能否放一个文本mdx出来呢,或者告知下这个文本怎么转换成mdx
  • TA的每日心情
    开心
    2023-3-12 18:44
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2023-3-12 18:53:29 来自手机 | 显示全部楼层
    大佬还能分享嘛,链接过期了
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-5-10 08:47 , Processed in 0.022667 second(s), 23 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表