超简单C#获取带汉字的字符串真实长度(单个英文长度为1,单个中文长度为2)
作者:wdc 时间:2021-11-13 20:37:55
正常情况下,我们是直接去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;
通过系统提供函数我们就可以获取中文的真实长度,是不是很简单
来源:http://www.cnblogs.com/haibing0107/p/5825600.html
标签:C#字符串
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
MTK Android平台开发流程
2023-06-23 08:59:11
详解C#多线程之线程同步
2023-10-09 02:23:21
![](https://img.aspxhome.com/file/2023/9/102249_0s.png)
Android事件冲突解决悬浮窗拖拽处理方案
2023-12-17 01:51:17
![](https://img.aspxhome.com/file/2023/9/91649_0s.jpg)
关于springboot集成swagger及knife4j的增强问题
2023-11-29 00:43:50
![](https://img.aspxhome.com/file/2023/1/60271_0s.png)
java高并发锁的3种实现示例代码
2022-05-23 16:45:47
Java设计模式之抽象工厂模式浅析讲解
2022-08-08 18:26:47
mybatis中批量插入的两种方式(高效插入)
2023-09-16 22:21:07
结合线程池实现apache kafka消费者组的误区及解决方法
2023-08-06 15:40:31
![](https://img.aspxhome.com/file/2023/8/58038_0s.png)
java内存优化的方法总结
2022-12-01 22:25:20
spring boot配置读写分离的完整实现步骤
2022-02-15 21:23:11
![](https://img.aspxhome.com/file/2023/3/96133_0s.png)
Java编程实现向文本文件中读取数据之Scanner用法示例
2022-08-01 03:38:57
使用@ConfigurationProperties实现类型安全的配置过程
2023-07-01 00:26:05
浅谈Java封装、继承、多态特性
2023-10-09 13:59:35
![](https://img.aspxhome.com/file/2023/6/67626_0s.png)
SpringBoot文件上传大小设置方式(yml中配置)
2021-09-21 09:26:47
Java基于分治算法实现的棋盘覆盖问题示例
2021-07-17 14:05:16
![](https://img.aspxhome.com/file/2023/4/82034_0s.jpg)
C#实现餐厅管理系统
2023-11-27 16:05:05
详解Java高并发编程之AtomicReference
2023-12-08 14:29:39
![](https://img.aspxhome.com/file/2023/4/99924_0s.jpg)
android多线程断点下载-带进度条和百分比进度显示效果
2022-03-20 14:30:43
![](https://img.aspxhome.com/file/2023/4/91714_0s.png)
自己实现Android View布局流程
2022-07-10 22:20:26
C#中如何利用正则表达式判断字符
2023-07-29 12:19:30