/// <summary>
        /// 截取字符串长度,中文默认2个字节
        /// </summary>
        /// <param name="str">字符串</param>
        /// <param name="count">截取的长度</param>
        /// <param name="cLen">汉字长度</param>
        /// <returns>截取后的字符串</returns>
        /// <example>
        /// <code lang="c#">
        /// <![CDATA[
        ///  string str1="a中国浙江".GetSubString(3);  //返回 "a中";
        ///  string str2="a中国浙江".GetSubString(3,SingleChineseLen.ONE);  //返回 "a中国"
        /// ]]>
        /// </code>
        /// </example>

        public static string GetSubString(this string str, int count, SingleChineseLen cLen = SingleChineseLen.TWO)
        {
            if (string.IsNullOrEmpty(str))
            {
                return(string.Empty);
            }
            ASCIIEncoding En = new ASCIIEncoding();

            Byte[] B   = En.GetBytes(str);
            int    len = 0;

            for (int i = 0; i < B.Length; i++)
            {
                if (B[i] == 63 && cLen == SingleChineseLen.TWO)//表示是中文
                {
                    len = len + 2;
                }
                else
                {
                    len = len + 1;
                }
                if (len >= count)
                {
                    return(str.Substring(0, i + 1));
                }
            }
            return(str);
        }
        /// <summary>
        /// 获取字符串的长度
        /// </summary>
        /// <param name="str">字符串</param>
        /// <param name="cLen">汉字长度,默认一个汉字当2个字符处理</param>
        /// <returns>字符串长度</returns>
        /// <example>
        /// <code lang="c#">
        /// <![CDATA[
        ///  int len1="a中国".GetStringLength();  //返回5;
        ///  int len2="a中国".GetStringLength(SingleChineseLen.ONE);  //返回3
        /// ]]>
        /// </code>
        /// </example>
        public static int GetStringLength(this string str, SingleChineseLen cLen = SingleChineseLen.TWO)
        {
            if (string.IsNullOrEmpty(str))
            {
                return(0);
            }
            int len = 0;

            if (!string.IsNullOrEmpty(str))
            {
                ASCIIEncoding En = new ASCIIEncoding();
                Byte[]        B  = En.GetBytes(str.Trim());
                for (int i = 0; i < B.Length; i++)
                {
                    if (B[i] == 63 && cLen == SingleChineseLen.TWO)//表示是中文
                    {
                        len = len + 2;
                    }
                    else
                    {
                        len = len + 1;
                    }
                }
            }
            return(len);
        }