在C#中的字符串類String中,有個Length屬性表示字符串的長度,但該字段返回的是字符的個數,如果字符串中含有中文字符的話,一個漢字占用兩個字符的長度,此時獲取的長度就不夠精確,當然也看具體業務需要。以下方法可用於計算字符串長度,字符串中的一個漢字計為兩個字符。
/// <summary> /// 得到字符串長度,一個漢字長度為2 /// </summary> /// <param name="inputString">參數字符串</param> /// <returns></returns> public static int StrLength(string inputString) { System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding(); int tempLen = 0; byte[] s = ascii.GetBytes(inputString); for (int i = 0; i < s.Length; i++) { if ((int)s[i] == 63) tempLen += 2; else tempLen += 1; } return tempLen; }
備注:此文轉載自C#計算字符串長度,漢字算兩個字符_IT技術小趣屋。
博主個人技術交流群:960640092,博主微信公眾號如下: