c#获取带有汉字的字符串长度
不知道大家注意没,用c#下自带的str.Length方法获得字符串str长度的时候,返回的总是字符的个数,但是如果字符串中包含汉字的话,一个汉字是占两个字符长度的,获取的长度值就有了问题。
解决方案:
原文: http://www.cnblogs.com/haibing0107/p/5825600.html
正常情况下,我们是直接去string的length的,但是汉字是有两个字节的,所以直接用length是错的。如下图:
所以应该用以下代码来获取长度:
private void button1_Click(object sender, EventArgs e){string s = textBox1.Text; int i = GetLength(s); MessageBox.Show(i.ToString()); } public static int GetLength(string str) { if (str.Length == 0) return 0; ASCIIEncoding ascii = new ASCIIEncoding(); int tempLen = 0; byte[] s = ascii.GetBytes(str); for (int i = 0; i < s.Length; i++) { if ((int)s[i] == 63) { tempLen += 2; } else { tempLen += 1; } } return tempLen; }
运行结果如下图:
也可以用这个获取长度:
int i = System.Text.Encoding.Default.GetBytes(s).Length;
转载于:https://www.cnblogs.com/lonelyxmas/p/5157944.html
c#获取带有汉字的字符串长度相关推荐
- java字节字符_java按字节截取带有汉字的字符串的解法(推荐)
由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度 ...
- java截取中文_java按字节截取带有汉字的字符串的解法(推荐)
由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度 ...
- 超简单C#获取带汉字的字符串真实长度(单个英文长度为1,单个中文长度为2)
正常情况下,我们是直接去string的length的,但是汉字是有两个字节的,所以直接用length是错的.如下图: 所以应该用以下代码来获取长度: ? 1 2 3 4 5 6 7 8 9 10 11 ...
- 带有汉字的字符串截断出现半个“汉字”的解决方法-C语言源码
汉字字符的编码为双字节,对于汉字字符和单字节字符混排的情况,如果目标截取的字符串内只包含奇数个单字节字符,则会出现半个汉字字符的问题.如下所示: (1)天水市秦州区南郭路2号(工行七里墩分理处? -- ...
- php获取汉字的长度,php中处理汉字字符串长度:strlen和mb_strlen
PHP内置的字符串长度函数strlen()无法正确处理中文字符串,它得到的只是字符串所占的字节数.对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍 ...
- js根据判断改变html字符串长度,JS获取字符串长度(包含汉字)的简单示例
这篇文章主要为大家详细介绍了JS获取字符串长度(包含汉字)的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 方法一: /** * * @p ...
- js 获取汉字字符串长度
在Unicode编码中,由于码点大于0xFFFF的字符必须用双字节表示,导致使用String.length获取这些字符串长度时会返回2. 例如: "啊".length // 1 & ...
- Go 学习笔记(31)— 字符串 string、字符 rune、字节 byte、UTF-8 和 Unicode 区别以及获取字符串长度
1. 字符串 string 类型 Go 语言中字符串的内部实现使用 UTF-8 编码,通过 rune 类型,可以方便地对每个 UTF-8 字符进行访问.当然, Go 语言也支持按照传统的 ASCII ...
- Swift3.0语言教程获取字符串长度
Swift3.0语言教程获取字符串长度 Swift3.0语言教程获取字符串长度,当在一个字符串中存在很多的字符时,如果想要计算字符串的长度时相当麻烦的一件事情,在NSString中可以使用length ...
最新文章
- linux删除某个path_linux 从path中去掉某个
- 教你使用Vue.js的DevTools来调试你的vue项目
- Volume group VolGroup00 not found
- python闭合函数_Python中函数的闭包
- python3.8如何安装jieba库_安装jieba、wordcloud等第三方库
- 从北京站到天通苑怎么走,
- java-多线程编程
- wechat 微信ipad协议GO版本 最新不封号 长链接 完整版
- 学妹要的20道Redis面试题,在这也分享一下(转载自程序羊羊哥)
- MySQL复制表结构
- [哲学部分]马克思主义基本原理概论思维导图
- APACHE架构WEB服务器
- android adb连接多个夜神模拟器,夜神安卓模拟器连接adb的具体操作流程
- 互联网公司各岗位真实工作内容起底!运维又被扎心了。。。
- html可以播放所有本地视频播放器,VR播放器有哪些 能播放本地视频的VR播放器推荐...
- CSDN App产品分析报告
- 计算学生成绩的标准差 C语言
- 擦边上100分,我的托福考试总结
- Java 中正则表达式的经典用法总结——捕获组
- c语言切,c语言切换
热门文章
- python的缩进规则是什么意思_Python编程思想(2):Python主要特性、命名规则与代码缩进...
- 2017蓝桥杯B组:取数位(递归,求余和除法)
- Windows系统更新后,VS2012不能使用的问题
- bzoj 1673: [Usaco2005 Dec]Scales 天平(DFS)
- 解决 adobe reader 只能翻页,不能滚动的问题
- Selenium-IDE脚本录制,selenium-side-runner自动化测试教程
- python更换tkinter图标样式
- 在Jupyter Notebook中运行R (附一系列疑难解答)
- zynq开发系列4:EMIO连接按键控制MIO连接的灯
- scrcpy设置快捷键_推荐电脑高清晰同步Anroid屏幕软件Scrcpy