|
本帖最后由 qunwang6 于 2015-8-19 22:56 编辑 ! ^& g" `) q! h0 x. P* Y$ X% r& x
2 D# m9 |4 E6 L+ q& S* EReferences:. C D+ W: X( y/ W: Z8 O
Reverse engineering Apple Dictionaries
, ~! m- o# Z; {Apple dictionaries
/ r: d8 {: o/ c( m; q" v& ausage:4 f4 R2 l+ a% X" L3 b N
- $ clang dedict.c -Wall -lz -o dedict
4 X, V; c5 k* i! y - $ clang strip.c -Wall -o strip
7 y# T) i/ N" a$ e \, l( s - $ ./dedict "Oxford Dictionary of English" | ./strip > dict.xml* t$ e/ f- u9 C( w! u8 ]8 R4 a% ~! @
- $ egrep -o 'd:title="(.+?)"' dict.xml | awk -F" '{print $2}' > words
复制代码 & G+ W4 L, |4 {& ]. T
需要注意的是5 g- l! y0 h4 c; U$ z m( `1 r
1.
* A6 }8 N4 L0 e+ _原始代码是默认转换/Library/Dictionaries/里的词典,若要转换自定义路径的词典,可将以下代码/ B$ f* z% Y$ @5 s9 r0 F& H
https://gist.github.com/josephg/ ... d#file-dedict-c-L865 ~9 p" Y3 P* v- g: q* o; g/ P" d/ ^
修改为' `# \# g( }% l+ I. T* K* `
- sprintf(filename,"%sContents/Body.data",argv[1]);
复制代码
( H, g$ O3 w$ u! W2.5 a. g6 p9 H7 y/ F
OS X 10.11系统内置词典里面的文件目录发生了变化,需要改以下代码就可以用了。
/ M. i) R* G4 F0 s* |( c j5 O要修改的代码/ z- g3 j: Y% |/ A! u. h* v+ x& K
https://gist.github.com/josephg/ ... d#file-dedict-c-L862 ]) F1 G- M: a! x/ A V" C$ b) p
修改为
3 | {. a# T5 X3 Q0 s2 |/ R- sprintf(filename,"%sContents/Resources/Body.data",argv[1]);
复制代码 ! V( T2 `; W8 L& B" A' e
已编译好的文件。
. C! A |/ p/ i6 r4 s$ s7 `; T6 }1 D |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
|