2012-01-12 95 views

回答

3

尝试java.text.Collator中文Locale

+2

谢谢。看起来''Locale.SIMPLIFIED_CHINESE'由中文拼音排序,但''Locale.TRADITIONAL_CHINESE'按笔画排序。 – bydsky 2012-01-12 14:26:09

+0

我不知道拼音或中风是什么,但我很高兴它有帮助。 – 2012-01-12 14:31:39

2

如果您想自己滚动代码,则数据的一个来源是来自Unicode联合会的Unihan数据库的Radical-Stroke Counts字段。链接到技术报告38的部分,描述这些领域。

请注意,表意字符的笔画计数是基于显示的字符(即其字形)的结构(或形态)。字形的形态是字体设计风格的函数 - 特别是字体是否遵循繁体中文,简体中文或日文惯例。但是,Java中的字符代码通常基于Unicode标准,该标准在单个字符代码下统一所有这些约定中的字符。

因此,您将需要外部信息来告诉您您的文本正在使用哪种约定。这反过来又告诉你要使用Unihan数据库的哪个字段。如果您知道您的中文文本字符串全部被简化了,或者所有繁体中文,那么您就有足够的信息。

还检查了Chinese Character Web API,它提供来自Unihan数据库的数据。

相关问题