2012-01-12 42 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數據庫的數據。

相關問題