这几天写程序要用到字符串的真实长度,可是MSsql 的len函数只能获取字的长度,无法获取真实的长度

也就是在网页里面所占的字符

因为英文“a”与中文 "的"所占的长度不同

于是google下找到函数datalength可以获得字符的真实长度

如:

select len('aaa')          --结果为 3
select len('张三丰')        -- 结果依然为 3
select datalength('aaa')   --结果为 3
select datalength('张三丰') --结果为 6

-----------------------分割线------------------------------------------------------------

在sql中解决了,那么在C#程序中呢

既然sql中实际上是得到的是数据的大小,那么在c#中是不是也可以这么做呢?

程序验证如下:

int len1 = System.Text.Encoding.Default.GetBytes("aaa").Length; //结果为 3
int len2 = System.Text.Encoding.Default.GetBytes("张三丰").Length; //结果为 6

看来结果是可用的。以后在程序中在也不用去判断字符是不是中文来计算字符串的总长度了(PS:以前我就是那么笨笨的来判断每个字符是不是中文来计算字符串总长度的 :))

转载于:https://www.cnblogs.com/wubin264/archive/2009/04/11/1433734.html

获取字符串的真实长度相关推荐

  1. c# 计算空格宽度像素_黄聪:C#如何通过MeasureString、Graphics获取字符串的像素长度...

    1.    使用g.MeasureString()获得 使用MeasureString测量出来的字符宽度,总是比实际宽度大一些,而且随着字符的长度增大,貌似实际宽度和测量宽度的差距也越来越大了.查了一 ...

  2. python想获取字符串str的长度_如何使用python获取字符串长度?哪些方法?

    掌握多种python技巧,对于我们更好的灵活应用python是非常重要的,比如接下来给大家介绍的获取字节长度,那大家脑海里就该有印象了,有几种方法呢?一起来看下吧~ 1.使用len()函数 这是最直接 ...

  3. js获取字符串的字节长度

    //字符编码数值对应的存储长度:      //UCS-2编码(16进制) UTF-8 字节流(二进制)     //0000 - 007F       0xxxxxxx (1字节)      //0 ...

  4. C#如何通过MeasureString、Graphics获取字符串的像素长度

    1.    使用g.MeasureString()获得 使用MeasureString测量出来的字符宽度,总是比实际宽度大一些,而且随着字符的长度增大,貌似实际宽度和测量宽度的差距也越来越大了.查了一 ...

  5. java 计算包含中文字符串的真实长度

    public static int getRealLength(String str) {int m = 0;char arr[] = str.toCharArray();for (int i = 0 ...

  6. python根据不同字体字号获取字符串的像素长度和高度

    line = '希望有一天变成大牛' font = ImageFont.truetype(font_family, font_size, 0) width, height = font.getsize ...

  7. js获取字符串长度,中文占一个字符,英文占0.5字符,并截取指定长度字符串

    var str = "*******************"var len = 0;var len2 = 0;for (var j = 0; j <str .length; ...

  8. 超简单C#获取带汉字的字符串真实长度(单个英文长度为1,单个中文长度为2)

    正常情况下,我们是直接去string的length的,但是汉字是有两个字节的,所以直接用length是错的.如下图: 所以应该用以下代码来获取长度: ? 1 2 3 4 5 6 7 8 9 10 11 ...

  9. JS获取字符串实际长度!

    今天又添加一个小东西!一个程序员经常要用到的字符串长度检测方法,由于JS原先的长度中文跟英文一样一个字符为1个长度.所以这里就得需要大家自己判断并获取字符串的实际长度了. 核心代码: var jmz ...

最新文章

  1. UCI计算机工程必修专业课,加州大学欧文分校(UCI)工程专业系将会在2012年首次录取中国高中毕业生。...
  2. pyqt根据名字获取控件
  3. 0宽字符加密_前端AES加密方式分析,及其python实现
  4. java对象 Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
  5. 5.Verilog的阻塞赋值=和非阻塞赋值<=
  6. 报错:Navicat for MySQL 连接MySQL 8.0 出现1130错误
  7. 机器学习(part4)--模型评估
  8. 如何用脚本可靠关闭一个linux服务或进程
  9. html界面等待状态,html 等待界面
  10. 8. jQuery 效果 - 动画
  11. 他面前有一个人,有一把刀
  12. web1:http协议简介和用netassist和py程序当http服务器
  13. ubuntu 18.04使用aqt安装QT5.12
  14. 51单片机下的温控智能小风扇
  15. 施一公:如何写好一篇学术论文?
  16. 3dmax2014卸载/安装失败/如何彻底卸载清除干净3dmax2014注册表和文件的方法
  17. 巴拿赫空间的基本概念
  18. oracle转换成字符型,Oracle中将Clob字段转换成字符串
  19. mac下安装pyinstaller
  20. 2060年软件工程师会像电报报务员那样过时?

热门文章

  1. Nginx (Install)
  2. LINUX下的PHP
  3. hdoj_1711_Number Sequence
  4. Sweet Home 3D 是Web三维效果图
  5. 为Web 开发者Bug 报告和跟踪工具
  6. 【机器学习】Weighted LSSVM原理与Python实现:LSSVM的稀疏化改进
  7. 反序列化对象列表发生异常_面试官:你知道Java对象的序列化与反序列化背后的原理吗?...
  8. 如何从基础到深入了解java构造器
  9. java开发就业困难吗_就业困难期,他们面临着幸福的烦恼
  10. abb变频器如何拷贝_教你变频器参数怎样简单设置