C#按指定字节长度截取字符串(每个汉字长度2字节)-C/S开发框架
作者:csframework|C/S框架网  发布日期:2021/12/30 18:58:40

C#按指定字节长度截取字符串(每个汉字长度2字节)-C/S开发框架

C# 全选
        /// <summary>
        /// 按指定字节长度截取字符串(每个汉字长度2字节)
        /// </summary>
        /// <param name="str">字符串</param>
        /// <param name="byteLength">字节长度</param>
        /// <returns></returns>
        public static string DoTrimString(string str, int byteLength)
        {
            if (string.IsNullOrEmpty(str)) return "";
            if (System.Text.Encoding.UTF8.GetByteCount(str) < byteLength) return str;

            int i = 0;//字节数
            int j = 0;//实际截取长度
            foreach (char newChar in str)
            {
                if ((int)newChar > 127)
                {
                    //汉字
                    i += 2;
                }
                else
                {
                    i++;
                }

                if (i <= byteLength)
                    j++;
                else
                    break;
            }
            str = str.Substring(0, j);
            return str;
        }
上一篇 下一篇