2009/4/2 liugang <liug...@gmail.com>:
--
Tao Wang
Microsoft Certified Technology Specialist
CCNA
CJK Radicals Supplement (2E80-2EFF)
CJK Symbols and Punctuation (3000-303F)
Enclosed CJK Letters and Months (3200-32FF)
CJK Compatibility (3300-33FF)
CJK Unified Ideographs Extension A (3400-4DBF)
CJK Unified Ideographs (4E00-9FFF)
CJK Compatibility Ideographs (F900-FAFF)
CJK Compatibility Forms (FE30-FE4F)
CJK Unified Ideographs Extension B (20000-2A6DF)
CJK Compatibility Ideographs Supplement (2F800-2FA1F)
等等。请参看:
http://orwell.ru/test/Unicode/
http://blog.oasisfeng.com/2006/10/19/full-cjk-unicode-range/
2009/4/2 Teng Ren <sjtu.r...@gmail.com>:
而且,用Unicode真的很费空间么?根据DATrie的结构看,其本身就是有不少空洞的,另一方面它也是增长性的,因此如果词典中怪异字不怎么出现,也不会浪费很多空间。我是建议不要在这个上面浪费精力,确保实现是无bug的最重要。
不过做个测试,查看一下将几十万词建立DATrie索引后,不同的编码方式的大小绝对数值和相对数值是多少。内存中,对于几十万词来说,50MB以下应该不是太大的问题。如果使用Unicode超过了200MB,而使用GBK在50MB以内,这个优化才有意义。否则如果都在50MB以内,这不是什么问题。毕竟内存中只有一个词典,就算是多线程程序,词典由于是只读,那么多线程同时读取也不会有什么问题。
2009/4/3 liugang <liug...@gmail.com>: