一些象形文字语言中的字计数器?

是否有任何可用于某些象形文字语言计数的库(例如:中文,日文,韩文……)?

我发现MS Word可以有效地计算这些语言的文本。 我可以在.NET应用程序中添加对MS Word库的引用来实现此function吗?

或者还有其他解决方案可以达到这个目的吗?

那里有一些可用于某些象形文字语言计数的库(例如:中文,日文,韩文……)?

象形文字 ? 不,他们不是。 它们是语言字符,并没有那么微妙的区别。 我相信一些母语人士可能比我更好地解释这一点。

日文和中文文本完全由西方语言组成,但一个字符可能是一个单词。 此外,他们不需要空格来分隔单词,因此我们的区别字符/单词不能使用空格作为分隔符。

Word所做的是计算单词(假设它们将等于字符),你可以在你的代码中做同样的事情(只是不要忘记它是UNICODE所以你不能计算字节数)计算字符。 要计算真实的单词,你需要一个字典(因为你不能依赖空格)。

例如这些字符串:

这是一个示例文本

これは,サンプルのテキストです

将被计为8个字符和8个单词(中文),15个字符和15个日语单词。 实际上它不是(例如在日语中,在罗马语音译时是5个单词)。 此外,不要忘记在日语中他们有一个以上的字母表(其中一个系列是拼音)。

重点是什么? 你算什么? 我们用来代表它们的单词被音译为一种语音表示(拉丁字符)? 哪一个? 单词计数将是非常不同的,它实际上将计算我们的单词概念 (这就是为什么,我想,Word计算字符)。

那说现在尝试编写这段代码:

string text = "这是一个示例文本"; MessageBox.Show(text.Length.ToString()); 

它会显示8,就像Word一样(我们正在计算字符数),以字节为单位(假设UTF-8编码)为24.这里没有计算空间的意义。 如果您计划在一个音译中计算单词,则需要使用外部库(这不是一件容易的事情),对于您想要支持的每种语言都是不同的(不知何故,它很容易自动检测语言,因为在日本人经常使用平假名/片假名字符)。 哪一个? 其中有很多,我不知道中文,但在日语中,流行的汉语是卡卡西 。

韩语是一个完全不同的故事,它的字母与拉丁语完全相同,但字符(应该称为音节)可能由许多字母组成。 同样,它们不需要空格,因此您不能依赖它们进行字数统计。 它在某种程度上更复杂,因为在这里你可能需要一个字典,甚至字符计数(否则你只需要计算音节)。