截取汉字英文长度
一个汉字当成两个字节编码,英文一个字母当成一个字节编码,截取字符串的长度.例如:字符串"微软技术c#讲座",
string sourcestr = "微软技术c#讲座"; string newstr = SubString(sourcestr,9); //输出newstr = "微软技术c" public static string SubString(string aOrgStr,int aLength) { int intLen = aOrgStr.Length ; int start = 0 ; int end = intLen ; int single = 0; char[] chars = aOrgStr.ToCharArray(); for (int i=0; i { if (System.Convert.ToInt32(chars[i])>255) { //如果是汉字,那么就增加两个字节长度 start += 2; } else { //如果是英文或数字,那么就增加一个字节长度 start += 1; single ++ ; } if (start >= aLength) { if ( end % 2 == 0) { if ( single % 2 == 0 ) { end = i+1 ; } else { end = i ; } } else { end = i+1 ; } break ; } } string temp = aOrgStr.Substring(0, end); return temp ; }

浙公网安备 33010602011771号