|
本帖最后由 qunwang6 于 2015-8-19 22:56 编辑
4 [3 M4 U, |3 U% f" m9 X% B0 }3 k; i7 r3 T
References:
& L+ [+ \, N" L& O) B2 V6 }+ oReverse engineering Apple Dictionaries+ @# Z% N# F) j0 ]
Apple dictionaries
3 p. B! m1 T4 ?" F/ C/ Eusage:
# k: w) j5 X3 i8 ?- $ clang dedict.c -Wall -lz -o dedict; |8 d" w% E0 ^ c3 @9 m" g
- $ clang strip.c -Wall -o strip) V; v0 e# s+ X# B
- $ ./dedict "Oxford Dictionary of English" | ./strip > dict.xml
* {) ^& b* C( G - $ egrep -o 'd:title="(.+?)"' dict.xml | awk -F" '{print $2}' > words
复制代码
& i8 O# M7 b9 o6 S需要注意的是. C5 U2 g5 ]- j5 C5 `
1.
8 K6 A* r; _) x' f7 I% q; K原始代码是默认转换/Library/Dictionaries/里的词典,若要转换自定义路径的词典,可将以下代码
' b2 G( ?- x& s) {0 W' Khttps://gist.github.com/josephg/ ... d#file-dedict-c-L86
& R' R8 `% t2 Q9 W+ |修改为. m8 h6 n e+ E. v' f& O8 G
- sprintf(filename,"%sContents/Body.data",argv[1]);
复制代码
( F. j8 T) S- K. b: T+ R! z2.' S, H$ F% ^& c ]
OS X 10.11系统内置词典里面的文件目录发生了变化,需要改以下代码就可以用了。
0 z- q1 r9 B1 p0 M要修改的代码7 |/ N( X' V, B7 |, v4 }$ H0 U7 q
https://gist.github.com/josephg/ ... d#file-dedict-c-L86
7 a, `. Q/ z ^: @# v修改为
' Q! @* e* E& u" J8 z1 m, z- sprintf(filename,"%sContents/Resources/Body.data",argv[1]);
复制代码
. X" D: N+ [1 r$ H* k) |% O已编译好的文件。
( ]3 n7 \3 u* H" D- P( i5 T+ j4 I |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
|