Wie sortieren Sie CJK (asiatische) Zeichen in Perl oder mit einer anderen Programmiersprache?

8

Wie sortieren Sie chinesische, japanische und koreanische (CJK) Zeichen in Perl?

Soweit ich das beurteilen kann, scheint die Sortierung von CJK-Zeichen nach Strichzahl, dann nach Radikal, die Art zu sein, wie diese Sprachen sortiert werden. Es gibt auch einige Methoden, die nach Sounds sortieren, aber das scheint weniger üblich.

Ich habe versucht mit:

%Vor%

Und ich habe versucht, Unicode :: Collate von CPAN zu verwenden, aber es sagt:

  

Standardmäßig sind CJK Unified Ideographen   in Unicode-Codepunkt-Reihenfolge sortiert ...

Wenn ich eine Datenbank mit Schlagzahlen pro Charakter bekommen könnte, könnte ich leicht alle Zeichen sortieren, aber das scheint weder mit Perl zu kommen, noch ist es in irgendeinem Modul gekapselt, das ich finden könnte.

Wenn Sie wissen, wie CJK in anderen Sprachen zu sortieren ist, wäre es hilfreich, dies in einer Antwort auf diese Frage zu erwähnen.

    
Neil 08.10.2010, 14:28
quelle

3 Antworten

3

Siehe TR38 für die schmutzigen Details und Eckenfälle. Es ist nicht so einfach wie Sie denken und wie dieses Codebeispiel aussieht.

%Vor%

Siehe Ссылка für eine Abbildung von der radikalen Ordnungszahl bis zur Schlagzahl.

    
daxim 08.10.2010, 19:34
quelle
2

Ein japanisches Telefonbuch wird auf phonetischer Basis sortiert (gojûon-Sortierung). Die Reihenfolge der Kanji-Zeichen basiert jedoch nicht auf Phonetik, egal ob in Unicode, JIS, S-JIS oder EUC. Nur Kana basieren auf phonetischer Reihenfolge. Dies bedeutet, dass Sie ohne phonetische Konvertierung nicht sinnvoll sortieren können!

Zum Beispiel:

%Vor%

Mit b) oder c) können Sie eine sinnvolle Sortierung vornehmen. Aber du kannst nicht nur mit a) tun. Natürlich können Sie die einfache Sortierfunktion ausführen, aber das ist für Japanisch nicht sinnvoll.

    
kmugitani 09.10.2010 06:56
quelle
2

Sieh dir mein Rubygem toPinyin an, das ein UTF-8-kodiertes chinesisches Zeichen in seine PinYin (Aussprache) umwandelt. Und dann konnte eine Art leicht auf dem Pinyin getan werden.

Einfach, gem install toPinyin

%Vor%

Ссылка

    
pierrotlefou 06.07.2011 08:38
quelle

Tags und Links