zoukankan      html  css  js  c++  java
  • C#对字符串执行字节操作

    写两个扩展方法,分别现“得到字符串的字长度”和“按字节长度截取字符串”的功能。

    public static class Test
        {
            /// <summary>
            /// 按字节长度截取字符串
            /// </summary>
            /// <param name="str"></param>
            /// <param name="num">要截取的字节个数</param>
            /// <returns></returns>
            public static string SubBytestring(this string str, int num)
            {
                string strNum = str.Trim();
                if (Encoding.Default.GetBytes(strNum).Length <= num)
                {
                    return strNum;
                }
                byte[] bytes2 = Encoding.Default.GetBytes(str.Substring(0,str.Length<num?str.Length:num));
                string strNum1 = Encoding.Default.GetString(bytes2, 0, num);
                int len = strNum1.Length;
                if (str.Substring(0, len) != strNum1)
                {
                    return Encoding.Default.GetString(bytes2, 0, num - 1);
                }
                return strNum1;
            }
            /// <summary>
            /// 得到字符串的字节长度
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public static int ByteLength(this string str)
            {
              return  Encoding.Default.GetBytes(str.Trim()).Length;
            }
        }

    调用:

      string str = "a中b华3".SubBytestring(6);
      int len = "a中b华3".ByteLength();

    参考:http://yandavid.blog.163.com/blog/static/10779084201010182383338/

  • 相关阅读:
    Annotation Type ManyToMany->>>>>Oracle
    windows 控制台默认为UTF-8显示的方法
    springboot读取配置文件
    Spring Boot配置文件放在jar外部
    Vue自定义过滤器
    vue中limitBy,filterBy,orderBy的用法
    track-by的使用
    Vue的computed属性
    vue实现百度下拉框
    Cas服务器以及客户端搭建
  • 原文地址:https://www.cnblogs.com/lgzslf/p/2375120.html
Copyright © 2011-2022 走看看