我们都知道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的引用哦!!!

转载于:https://www.cnblogs.com/qiantuwuliang/archive/2009/03/17/1414628.html

C#区分中英文统计字符串的长度相关推荐

  1. Javascript中得到中英文混合字符串的长度

    有同事在公司的OA上发了个贴子,介绍在javascript中如何得到中英文混合字符串的长度. 用的是正则表达式. var str = "坦克是tank的音译";var len = ...

  2. 计算UTF8中英文混合字符串的长度

    需求描述: 有两个字符串, 需要根据最长的串求出一个合理的大小, 这个大小等于最长串大小, 并绘制成分式效果, 默认 一个汉字占 三个utf8字符,一个字母占1个 ,   直接跟strlen 计算长度 ...

  3. 使用php语言 统计字符串,php如何查询字符串长度

    [摘要] PHP即"超文本预处理器",是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言.PHP独特的语法混合了C.Java.Perl以及 ...

  4. 中英文混合字符串长度的获取

    在项目中要处理中英文混合字符串的长度,中文按2个字符算,英文按1个字符算.以下是我处理的方法,不知道有没有更好的方法. private int GetGBLength(string strData) ...

  5. ASP如何计算中英文混合字符串长度和截取字符串

    用ASP做网站的时候经常会碰到要截取字符串的情况.ASP中的Len函数不管是中文字符,还是英文字符,统统按一个单位来计算,由于一个中文字符的宽度是一个英文字符宽度的两倍,在中英文混合的情况下字符串实际 ...

  6. js实现统计字符串长度包含中文英文特殊字符

    可以使用 JavaScript 的 length 属性来统计字符串的长度,但是这个属性只能统计英文字符和 ASCII 码字符的个数.对于中文字符,它的长度会被统计成 2. 如果想要正确地统计字符串中中 ...

  7. 统计字符串长度,strlen和sizeof有啥区别?

    本文来自公众号:C语言编程技术分享 一.练习 字符串函数strlen和运算符sizeof是我们学习C语言很常见的两个东东,也是用的比较多的.如果把这二位用在统计字符串的长度上,它们有什么区别呢?就比如 ...

  8. vue 统计中英文字符串长度_Ant Design Vue 添加区分中英文的长度校验功能

    原本的maxLength属性是不区分全角/半角字符的,对于一些可中英文混合输入地方而言不太合适.所以想找一个可区分全角/半角字符的校验,而且要保证一定的可重用性. 百度搜了一圈都没找到合适的现成的解决 ...

  9. JS 区分中英文字符/获取字符串实际长度(区分中英文)

    获取字符串中全部中文字符 ^x00-x80 是全角字符的范围(注意这里有个非),通过正则来获取字符串中的全角字符. // 获取全部中文字符(字符串) ,返回中文字符组成的数组 function get ...

  10. JS验证字符串的长度(区分中英文)

    使用正则表达式验证输入的字符串的长度,中文占2个字节,英文和数字占一个字节. 调用getStrLenght函数,第一个参数传入字符串,第二个参数传入验证的长度,如果在验证长度的范围之内返回true,否 ...

最新文章

  1. 一个为制造业而生的AI助手,普通员工向它提问就能做数据分析
  2. CentOS6.5 升级 Python 2.7 版本
  3. Python+opencv 图像拼接
  4. 在xcode4中使用cocos2d 2.x很顺利的
  5. ifstream 打开中文路径乱码问题处理
  6. 英语笔记:写作:Nothing succeeds without a strong will
  7. 有关LinkedList常用方法的源码解析
  8. (4)vue.js 基础语法
  9. jqgrid使用小记
  10. ecshop二次开发 给商品添加自定义字段【包含我自己进一步的开发实例详解】
  11. 解决主页被劫持的dos脚本
  12. Autodesk 3DSMax 2018 安装注册说明
  13. 最新金色版萝卜影视源码/原生视频影视系统APP源码
  14. (完整体系教程)使用 Arduino 控制伺服电机
  15. 思维导图模板创意可爱简单,模板资源分享
  16. ImageView显示图片控件介绍
  17. Kubernetes 如何重塑虚拟机
  18. ThingsBoard 多个设备的最新遥测数据合并计算案例
  19. 360浏览器如何开启翻译功能?
  20. LCD 调试技巧 01

热门文章

  1. python in visual studio
  2. 计算机图形学(二)——实验二:直线的生成算法
  3. IDL | 实验五 IDL数据可视化
  4. IDL——数据的输入、输出与读写
  5. Windows10内存泄漏,分页池高分析及解决方案
  6. Flink + TiDB,体验实时数仓之美
  7. 阿里开源 10 年,这封信里也有 Flink 的身影。
  8. Apache Flink 进阶(三):Checkpoint 原理剖析与应用实践
  9. android view强制重绘_安卓自定义 view 不能正常重绘
  10. mfc 添加变量出现灾难性故障_实验室近期论文:储罐灾难性失效事故的漫堤预测模型...