C#获取字符串字符的位数(区分中文和英文长度)

时间:2020-12-29 17:20:46

请看以下代码

 1 private static int GetStrLength(string str)
2 {
3 if (string.IsNullOrEmpty(str)) return 0;
4 ASCIIEncoding ascii = new ASCIIEncoding();
5 int tempLen = 0;
6 byte[] s = ascii.GetBytes(str);
7 for (int i = 0; i < s.Length; i++)
8 {
9 if ((int)s[i] == 63)
10 {
11 tempLen += 2;
12 }
13 else
14 {
15 tempLen += 1;
16 }
17 }
18 Console.WriteLine("当前字符串长度为:" + tempLen);
19 return tempLen;
20 }