CEDICT的示例解析器代码

时间:2012-07-15 14:08:06

标签: unicode utf-8 dictionary cjk

有没有人有解析CEDICT文件的示例代码? CEDICT是一本汉英词典。例如,目前,如果我在文本编辑器中打开它,CEDICT文件中的一行如下所示:

‰Πç‰Πç[bu4] /(负前缀)/不/不/

我希望将其视为:

不不[bu4] /(负前缀)/不/不/

我发现Textwrangler作为文本编辑器为我做这件事。我现在需要的是实现相同的示例代码。

1 个答案:

答案 0 :(得分:1)

问题是,这只是一个编码问题。如果该行看起来像

‰Πç‰Πç[bu4] /(负前缀)/不/不/

这是因为文本编辑器不知道/意识到文本被编码为UTF-8。 Text Wrangler或其大哥BBEdit非常善于猜测编码,甚至可以要求以特定的编码显示文本。

由于我们不知道你想要什么,最终要实现,很难确切地告诉你具体要做什么。我能说的是你的应用程序(你使用哪种语言?)需要知道Unicode(并且能够读取/操作UTF字符串)。

我写了几个基于CEDICT的应用程序,一个用于Mac OS X,一个用于Android。对CEDICT进行解析和索引并不是很难。

更新

关于CEDICT的解析本身,这并不复杂。我不做Objective-C,从来没有,永远不会,但这个过程在任何语言都是一样的:

  • 读一行。说出你自己的例子:不不[bu4] /(负前缀)/不/不/
  • 你有四个领域:Trad。 Ch。,Simp。 Ch。,阅读,意义。 这些字段是空格分隔的。当然第4个字段可能包含空格,所以要小心。
  • 存储(我使用sqlite db)4个字段到db。 您可能希望从定义字段中删除斜杠,将其替换为其他内容。
  • 循环

您现在已将CEDICT转换为数据库。这很容易。至于象征中文,祝你好运,交配。比我更好的思想仍然在这个问题上挣扎。