社区
C#
帖子详情
请教c#中如何确定含中文的字符串的长度(中文算两个字符),谢谢.
sumrai
2002-08-29 02:15:42
请问:
在c#中确定一个包含中文的字符串的长度?
有没有这样的函数或例子?
例如string str = "中国人民123";
这个字符串,
我想得到的长度是11,即汉字当两个字符.
str.length属性,但它只能把汉字的长度算成1,求出来是7.
不至于要转换成字符数组,然后判断每个字符的ascii码吧,
那样就faint了.
谢谢了.
...全文
312
4
打赏
收藏
请教c#中如何确定含中文的字符串的长度(中文算两个字符),谢谢.
请问: 在c#中确定一个包含中文的字符串的长度? 有没有这样的函数或例子? 例如string str = "中国人民123"; 这个字符串, 我想得到的长度是11,即汉字当两个字符. str.length属性,但它只能把汉字的长度算成1,求出来是7. 不至于要转换成字符数组,然后判断每个字符的ascii码吧, 那样就faint了. 谢谢了.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DragonFly-9
2002-08-29
打赏
举报
回复
同意xhan2000,我都是这么用的
hillfree
2002-08-29
打赏
举报
回复
同意xhan2000。
因为在.NET中都是才有Unicode,所以汉字和字符都占2个字节。
建议采用第一种方式,即优雅,又简洁。
private int GetBytes(String str)
{
byte[] mybyte=System.Text.Encoding.Default.GetBytes(str);
return mybyte.Length;
}
------------------
Think and Thank
xhan2000
2002-08-29
打赏
举报
回复
还可以
public double CnLen(string str)
{
ASCIIEncoding n=new ASCIIEncoding();
byte [] mybyte=n.GetBytes(str);
double len=str.Length;
for(int i=0;i<str.Length;i++)
{
if(mybyte[i]==63)
{
len=len+1;
}
}
return len/2;
// int temp;
// double len=str.Length;
// for(int i=0;i<str.Length;i++)
// {
// temp=(int)str[i];
// if(temp<0)
// {
// temp+=65536;
// }
// if(temp>255)
// {
// len+=1;
// }
// }
// return len/2;
}
xhan2000
2002-08-29
打赏
举报
回复
有好几种方式
建议
byte[] mybyte=System.Text.Encoding.Default.GetBytes(str);
mybyte.Length
C#
编程入门基础,开启你的编程之旅
C#
使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。因为这种继承关系,
C#
与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向
C#
。 ................................................................................................
C#
SerialPort 读写三菱FX系列PLC
1:串口初始化 com = new SerialPort("COM3", 9600, Parity.Even, 7, StopBits.One); 2:打开关闭串口 if (com.IsOpen) {com.Close();} com.Open(); if (com.IsOpen) { com.Close();} 3:
C#
ASCII转
字符
及
字符
转ASCII
c#
串口缓存字节数_
c#
中
,确保数据接收完整的 串口处理程序
https://msdn.microsoft.com/zh-tw/library/system.io.ports.serialport.getportnames.aspxhttp://www.cnblogs.com/binfire/archive/2011/10/08/2201973.html如果一些厂家比较懒的话,没有提供相应的dll,我们只能对它进行串口通信编程了。以前从没接触过串口编程,最近...
C#
读写txt文件的两种方法介绍
C#
读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出。 byte[] byData = new byte[100]; char[] charData = new char[1000
【
C#
】
C#
常用
1.string Substring(Int32) 从此实例检索子
字符
串
。 子
字符
串
在指定的
字符
位置开始并一直到该
字符
串
的末尾。 Substring(Int32, Int32) 从此实例检索子
字符
串
。 子
字符
串
从指定的
字符
位置开始且具有指定的
长度
。 ......
C#
110,566
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章