类似于s.Substring(m, n);但里的m,n是字符计数的,怎样实现用字节计数的,每个汉字为2个字节.

解决方案 »

  1.   

    /// <summary>
            /// 字符长度控制 中文 英文识别!
            /// 注:一个汉字作为2个字符长度处理
            /// </summary>
            /// <param name="str">要进行切割的字符串</param>
            /// <param name="len">返回的长度(自动识别中英文)</param>
            /// <param name="isExt">是否输出...</param>
            /// <returns></returns>
            public static string CutString(string str, int len, bool isExt)
            {
                byte[] sarr = System.Text.Encoding.Default.GetBytes(str);            if (sarr.Length > len)
                    return System.Text.Encoding.Default.GetString(sarr, 0, len) + (isExt ? "..." : "");
                else
                    return str;
            }