2012-01-12 12 views

Odpowiedz

3

Wypróbuj java.text.Collator dla chińskiego Locale.

+2

Dzięki. Wygląda na to, że 'Locale.SIMPLIFIED_CHINESE' jest uporządkowane według chińskiego Pinyin, ale' Locale.TRADITIONAL_CHINESE' uporządkowane według skoku. – bydsky

+0

Nie mam pojęcia, co to jest Pinyin lub udar, ale cieszę się, że pomogło. –

2

Jeśli chcesz samodzielnie rzucić kod, jednym źródłem danych są pola Radical-Stroke Counts Unihan bazy danych z konsorcjum Unicode. Link do sekcji Technical Report 38, opisującej te pola.

Należy zauważyć, że liczba uderzeń znaku ideograficznego zależy od struktury (lub morfologii) wyświetlanego znaku, tj. Jego glifu. Morfologia glifu jest funkcją stylu projektowania czcionek - szczególnie, czy czcionka jest zgodna z tradycyjnymi chińskimi, uproszczonymi chińskimi lub japońskimi konwencjami. Ale kody znaków w Javie są zwykle oparte na standardzie Unicode, który jednoczy znaki ze wszystkich konwencji pod jednym kodem znaku.

Potrzebne będą więc informacje zewnętrzne, aby poinformować, którą konwencję używa twój tekst. To z kolei powie ci, z którego pola bazy danych Unihan się korzysta. Jeśli wiesz, że twoje chińskie ciągi tekstowe są uproszczone lub wszystkie tradycyjne chińskie, masz wystarczającą ilość informacji.

Sprawdź również Chinese Character Web API, który obsługuje dane z bazy danych Unihan.