按指定字节长度截取字符串(每个汉字长度2字节)

  按指定字节长度截取字符串(每个汉字长度2字节)


C# Code:


/// <summary>
/// 按指定字节长度截取字符串(每个汉字长度2字节)
/// </summary>
/// <param name="str">字符串</param>
/// <param name="byteLength">字节长度</param>
/// <returns></returns>
public static string CutStringByte(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;
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761



测试:


C# Code:

//返回:按指定(字
string str = CutStringByte("按指定(字节)长度截取字符串", 10);

//返回:Applicatio
string str1 = CutStringByte("Application.SetCompatibleTextRenderingDefault(false);", 10);


//来源:C/S框架网 | www.csframework.com | QQ:23404761




版权声明:本文为CSFramework文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

指定字节长度截取字符串(每个汉字长度2字节)
截取指定像素长度字符串
截取中英混合字符串指定长度(转)
C# 获取字符串实际长度(总字节数)中文2字节字母1字节
C# 生成日期时间数字唯一序号,尾部添加指定位数长度的随机码
StrUtils类:字符串处理/加密解密函数库
生成流水号,数字序号可以指定长度,SP下载
C#根据字节数据byte[]前2位判断文本文件的Encoding编码格式
C#正则表达式查找或替换指定字符串(标识)范围的内容
更改连接字符串中的超时时间
平台里每个模块有个Form1窗体,用来做什么?
SQL判断两个带有分隔符的字符串是否重叠
SQLServer连接字符串连接池详解,Pooling=True/False区别
将截断字符串或二进制数据。语句已终止
界面内回车键自动激活下一个控件
C# MD5字符串文本加密
SQL分割字符串并返回表
C#图片转换类支持比例缩放图片
C# 计算字符串公式得出数值.(CalculateExpression)
权限系统发现BUG,请提示升级