获取字符串(包括汉字)的长度

参考:http://msdn.microsoft.com/zh-cn/library/system.globalization.unicodecategory.aspx
 1      public static int GetStringLengthByChar(String origin)
 2        {
 3            Int32 strLength = 0;
 4            if(!String.IsNullOrEmpty(origin))
 5            {
 6                foreach (char c in origin)
 7                {
 8                    UnicodeCategory testC = char.GetUnicodeCategory(c);
 9                    switch (testC)
10                    {
11                        case UnicodeCategory.OtherLetter:
12                            strLength += 3;
13                            break;
14                        case UnicodeCategory.UppercaseLetter:
15                            strLength += 2;
16                            break;
17                        default:
18                            strLength += 1;
19                            break;
20                    }

21                }

22            }

23            return strLength;
24        }

25
原文地址:https://www.cnblogs.com/wuming/p/1423422.html