c# – 计算特殊的UTF-8字符

c# – 计算特殊的UTF-8字符,第1张

概述我正在寻找一种方法来计算由多个角色组成的特殊角色,但在网上找不到解决方案! 对于例如我想数字串“வாழைப்பழம”.它实际上由6个泰米尔字符组成,但在这种情况下,当我们使用常规方法查找长度时,它的9个字符.我想知道泰米尔是唯一会导致此问题的编码,如果有解决方案的话.我目前正在尝试在C#中找到解决方案. 提前谢谢=) 使用 StringInfo.LengthInTextElements: var 我正在寻找一种方法来计算由多个角色组成的特殊角色,但在网上找不到解决方案!

对于例如我想数字串“வாழைப்பழம”.它实际上由6个泰米尔字符组成,但在这种情况下,当我们使用常规方法查找长度时,它的9个字符.我想知道泰米尔是唯一会导致此问题的编码,如果有解决方案的话.我目前正在尝试在C#中找到解决方案.

提前谢谢=)

解决方法 使用 StringInfo.LengthInTextElements
var text = "வாழைப்பழம";Console.Writeline(text.Length);                               // 9Console.Writeline(new StringInfo(text).LengthInTextElements); // 6

有关此行为的说明可以在String.Length的文档中找到:

The Length property returns the number of Char objects in this instance,not the number of Unicode characters. The reason is that a Unicode character might be represented by more than one Char. Use the System.Globalization.StringInfo class to work with each Unicode character instead of each Char.

总结

以上是内存溢出为你收集整理的c# – 计算特殊的UTF-8字符全部内容,希望文章能够帮你解决c# – 计算特殊的UTF-8字符所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1238733.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存