取字符串的长度(英文字符串和中文字符串的区别)

代码如下:

View Code
 1 //取字符串的长度,(中文和英文的判断)
2 private int GetStrlength(string str)
3 {
4 int t = 0;
5 char[] q = str.ToCharArray();
6 for (int i = 0; i < q.Length; i++)
7 {
8 if ((int)q[i] >= 0x4E00 && (int)q[i] <= 0x9FA5)//是否汉字
9 {
10 t += 2;
11 }
12 else
13 {
14 t++;
15 }
16 }
17 return t;
18 }
19 注意:字符串的长度和它的字节数在有中文的情况下并不相等!!!!
20 如:string str="abcde中国";
21 它的长度=str.length 结果为7;
22 它的字节数=System.Text.EnCoding.Default.GetByteCount(str) 结果为9;
原文地址:https://www.cnblogs.com/zcttxs/p/2423628.html