Sorting 如何将日语字符分类为汉字、片假名或平假名?

Sorting 如何将日语字符分类为汉字、片假名或平假名?,sorting,unicode,sqlite,cjk,icu,Sorting,Unicode,Sqlite,Cjk,Icu,我正在处理一些需要对日语进行排序的应用程序 日语的排序需要将片假名和汉字转换为平假名,然后根据UTF-8代码进行排序 平假名、片假名和汉字应组合在一起,并按平假名等效的“拼写”排序。注:使用平假名“字母表”——a、i、u、e、o、ka、ki、ku、ke、ki等 现在要完成此任务,我需要: 1.将日语字符分为汉字、片假名或平假名 2.将片假名和汉字转换为平假名 3.应用基于语音(平假名)进行排序的算法 应用程序的数据库是UTF-8 现在执行第一步: “将日语字符分为汉字、片假名或平假名。” 我想知

我正在处理一些需要对日语进行排序的应用程序

日语的排序需要将片假名和汉字转换为平假名,然后根据UTF-8代码进行排序

平假名、片假名和汉字应组合在一起,并按平假名等效的“拼写”排序。注:使用平假名“字母表”——a、i、u、e、o、ka、ki、ku、ke、ki等

现在要完成此任务,我需要:

1.将日语字符分为汉字、片假名或平假名

2.将片假名和汉字转换为平假名

3.应用基于语音(平假名)进行排序的算法

应用程序的数据库是UTF-8

现在执行第一步: “将日语字符分为汉字、片假名或平假名。”

我想知道在SqLITE3、QT、ICU或任何其他可以提供字符Unicode的包中是否存在任何用于C或C++编程语言的API? 在Unicode的基础上,我们可以很容易地对日语字符进行分类

如果我错了,请纠正我

  • 正如您所说,使用Unicode可以很容易地将日语字符分组。这是微不足道的

  • 片假名到平假名的转换也很简单,因为存在一对一映射。您可以通过以下方式将汉字转换为平假名:

  • 排序可以通过先转换为平假名来完成。然而,这是一个穷人的类型,因为许多汉字是同音字(相同的声音,不同的汉字)。所以你应该先对汉字进行排序,然后再通过平假名进行转换和排序


  • 你不会说你为什么需要用这种方式排序。如果您能告诉我们更多关于您的申请的信息,我们可能会推荐一种更好的排序方式。

    Hi Koan,申请要求是:日语字符列表应按平假名/片假名/汉字排序 特殊字符 字母表 数字。平假名、片假名和汉字应组合在一起,并按平假名等效的“拼写”进行排序。注:使用平假名“字母表”——a、i、u、e、o、ka、ki、ku、ke、ki等。如果平假名、片假名和汉字的发音完全相同,则排序顺序应为平假名 片假名 汉字。你能告诉我一种更好的日语排序方法吗?应用程序要求还说:日语的排序需要将片假名和Kanja转换为平假名,然后根据UTF-8代码进行排序。对于排序表,应使用名称词典。这里有一些到开源字典的链接:我不知道日文排序的“正确”方法,这取决于你的应用程序,你只告诉了我要求。您没有说您是否正在尝试实现字典顺序。我已经在使用法令了,它非常好。Koan,你能提供你的意见并分享经验,比如执行这项任务的逻辑步骤吗。向你学习会有很大帮助。谢谢,我使用法令。它包含了汉字的读物,因此没有理由生成假名。为了分类,我用假名或汉字查找单词;但我不想把两者混编成一本词典。在我看来,如果您想进行适当的字典排序,我会忘记您的应用程序要求,并实现适当的字典排序。我不知道有一个标准的汉字顺序,你可以用