zoukankan      html  css  js  c++  java
  • C#区分中英文统计字符串的长度

    我们都知道C#中的string自已有一个Length属性,用来统计字符串的长度,如果字符都是中文或都是英文,那没什么问题,但如果出现中英文混合的情况,我们的统计结果就不太准确了,因为在计算机中,中文占两个字节的空间,英文占一个字节的空间,而string的Length不具备区分中英文的功能,所以它计算出来的长度并不准确,如我们在网页上显示字符时,有时候不能超过一定的长度,如果字符串是中英文混合,那载取的字符串长短不一,严重影响美观。     当然,我们可以用一种非常简单的方法来计算字符串的长度,而且是中文算两个字符,英文算一个字符,下面给出我一直在用的一个方法的源代码,供大家参考:
          /// <summary>  
          /// 计算文本长度,区分中英文字符,中文算两个长度,英文算一个长度
          /// </summary>
          /// <param name="Text">需计算长度的字符串</param>
          /// <returns>int</returns>
          public int Text_Length(string Text)
          {
                int len=0;

                for(int i=0;i<Text.Length;i++)
                {
                    byte[] byte_len = Encoding.Default.GetBytes(Text.Substring(i,1));
                    if(byte_len.Length>1)
                        len += 2;  //如果长度大于1,是中文,占两个字节,+2
                    else
                        len += 1;  //如果长度等于1,是英文,占一个字节,+1
                }

                return len;
            }
        当然别忘了加上'using System.Text;',对System.Text的引用哦!!!

  • 相关阅读:
    什么是 bean 的自动装配?
    什么是 Spring 的内部 bean?
    什么是 Spring 的 MVC 框架?
    Spring AOP and AspectJ AOP 有什么区别?
    解释 JDBC 抽象和 DAO 模块?
    volatile 类型变量提供什么保证?
    一个 Spring Bean 定义 包含什么?
    什么是 Spring MVC 框架的控制器?
    使用 Spring 访问 Hibernate 的方法有哪些?
    什么是 Callable 和 Future?
  • 原文地址:https://www.cnblogs.com/googlegis/p/2979164.html
Copyright © 2011-2022 走看看