你如何在Perl中对中文,日文和韩文(CJK)字符进行排序?
据我所知,按行程计数排序CJK字符,然后按激进排序,似乎就是这些语言的排序方式.还有一些按声音排序的方法,但这似乎不太常见.
我尝试过使用:
perl -e 'print join(" ", sort qw(? ? ? ? ? ? ? )), "\n";'
# Prints: ? ? ? ? ? ? ? which is incorrect
Run Code Online (Sandbox Code Playgroud)
我尝试过使用CPAN中的Unicode :: Collate,但它说:
默认情况下,CJK Unified Ideographs按Unicode代码点顺序排序...
如果我能得到每个字符的笔画数量数据库,我可以轻松地对所有字符进行排序,但这似乎不是Perl所带来的,也不是封装在我能找到的任何模块中.
如果你知道如何用其他语言对CJK进行排序,那么在这个问题的答案中提及它会很有帮助.
如何获取汉字的笔画数?
\n\n示例>
\n\n\xe4\xb8\x80 => 1
\n\n\xe5\x8d\x81 => 2
\n\n\xe6\x97\xa5 => 4
\n