1.byte[] bytestr = System.Text.Encoding.Default.GetBytes(str);这种方式会导致手机平台和PC平台计算的长度不一致,不推荐
2.使用Unicode 字符编码表,汉字Unicode编码的区间为:0x4E00→0x9FA5
int charNum = 0; //统计字节位数 char[] _charArray = str.ToCharArray(); for (int i = 0; i < _charArray.Length; i++) { char _eachChar = _charArray[i]; if (_eachChar >= 0x4e00 && _eachChar <= 0x9fa5) //判断中文字符 charNum += 2; else charNum += 1; }