1 /// <summary> 2 /// 截取指定长度字符串 3 /// </summary> 4 /// <param name="inputString">要处理的字符串</param> 5 /// <param name="len">指定长度</param> 6 /// <returns>返回处理后的字符串</returns> 7 public static string ClipString(string inputString, int len) 8 { 9 bool isShowFix = false; 10 if (len % 2 == 1) 11 { 12 isShowFix = true; 13 len--; 14 } 15 System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding(); 16 int tempLen = 0; 17 string tempString = ""; 18 byte[] s = ascii.GetBytes(inputString); 19 for (int i = 0; i < s.Length; i++) 20 { 21 if ((int)s[i] == 63) 22 tempLen += 2; 23 else 24 tempLen += 1; 25 26 try 27 { 28 tempString += inputString.Substring(i, 1); 29 } 30 catch 31 { 32 break; 33 } 34 35 if (tempLen > len) 36 break; 37 } 38 39 byte[] mybyte = System.Text.Encoding.Default.GetBytes(inputString); 40 if (isShowFix && mybyte.Length > len) 41 tempString += "…"; 42 return tempString; 43 }