超简单C#获取带汉字的字符串真实长度(单个英文长度为1,单个中文长度为2)
正常情况下,我们是直接去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;
通过系统提供函数我们就可以获取中文的真实长度,是不是很简单
相关推荐
-
C#截取中英文混合指定长度字符串实例
复制代码 代码如下: using System.Text.RegularExpressions;using System.Text; /// <summary>/// 字符串长度(按字节算)/// </summary>/// <param name="str"></param>/// <returns></returns>static int StrLength(string str){ int len =
-
c#固定长度的随机字符串例子
复制代码 代码如下: /// <summary>/// 固定长度的随机字符串/// </summary>/// <param name="length">长度</param>/// <returns>随机串</returns>public static String getRandStringEx(int length){char[] charList = {'0','1','2','3','4','5','6',
-
C#区分中英文按照指定长度截取字符串的方法
本文实例讲述了C#区分中英文按照指定长度截取字符串的方法.分享给大家供大家参考.具体如下: 这段C#代码用于按照指定的长度截取字符串,一个中文字符算2个字符,按照这个方法截取的字符串基本可以保持显示长度一致 /// <summary> /// 截取文本,区分中英文字符,中文算两个长度,英文算一个长度 /// </summary> /// <param name="str">待截取的字符串</param> /// <param nam
-
c#实现获取字符串阵列中元素最长或最短的长度
下面有一个字符串阵列: string[] elements = {"adsf","etwert" ,"asdfasd","gs"}; 要求是获取元素最长或最短的长度. 你可以在程序中创建一个对象,这个对象有两个属性元素值和元素长度: Source Code class Class6 { private string _ElementValue; public string ElementValue { get { return
-
C#算法函数:获取一个字符串中的最大长度的数字
/// <summary> /// 获取字符串最长的数字 /// </summary> /// <param name="inputStr">输入字符串</param> /// <returns>最长数字</returns> public string GetMaxLenNumber(string inputStr) { //将字符串中的字符存放到数组中,便于处理 char[] strCharArray = inp
-
超简单C#获取带汉字的字符串真实长度(单个英文长度为1,单个中文长度为2)
正常情况下,我们是直接去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 st
-
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
在网站开发中,经常会简单使用js代码来判断字符串中有多少汉字的功能.今天小编抽时间给大家分享实现代码.废话不多说了,直接给大家贴代码了. $("form").submit(function () { var content = editor.getContentTxt(); var sum = 0; re = /[\u4E00-\u9FA5]/g; //测试中文字符的正则 if (content) { if (re.test(content)) //使用正则判断是否存在中文 { if
-
JS实现超简单的汉字转拼音功能示例
本文实例讲述了JS实现超简单的汉字转拼音功能.分享给大家供大家参考,具体如下: /** * 中文字符串转化为拼音 * alert(convertToPinyinLower("你好啊")); */ function hash(_key,_value) { this.key = _key; // 拼音*/ this.value = _value; // ascii码*/ } // javascript 的自定义对象,用于存放汉字拼音数据字典*/ function dictionary()
-
javascript时间戳和日期字符串相互转换代码(超简单)
javascript时间戳和日期字符串相互转换代码(超简单) <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript"> // 获取当前
-
js获取html的span标签的值方法(超简单)
HTML中代码为: <span id="testid">aaaa</span> 获取的js代码: 方法一:.innerText var x1 = document.getElementById("testid").innerText; alert("x1="+x1); 方法二:.innerHTML var x2 = document.getElementById("testid").innerHTML;
-
微信公众号网页授权登录的超简单实现步骤
目录 前言 一.微信公众号授权登录到底哪几步 二.回调地址,安全域名怎么配置 三.代码怎么写 四.出现问题怎么办 总结 前言 这篇文章带大家掌握 从0到1实现微信公众平台授权登录 微信公众号授权登录到底哪几步回调地址,安全域名怎么配置代码怎么写出了问题怎么办 一.微信公众号授权登录到底哪几步 官方文档介绍微信开放文档微信开发者平台文档https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_author
-
jquery的$getjson调用并获取远程的JSON字符串问题
代码如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equ
-
JavaScript实现的超简单计算器功能示例
本文实例讲述了JavaScript实现的超简单计算器功能.分享给大家供大家参考,具体如下: 先来看看运行效果: 具体代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net JS计算器</title> <script type="text/javascript&qu
-
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
这个例子还是比较简单的,独立完成后,能大概知道vue是干嘛的,可以写个todoList的小例子. 开始写例子之前,先对环境的部署做点简单的介绍,其实和Vue官方的差不多. #如若没有安装过vue-cli,先全局安装一下vue-cli $ cnpm i -g vue-cli #到自己喜欢的目录下创建一个基于 webpack 模板的新项目 $ vue init webpack my-project # # #之后会有如下询问 ? Project name (my-project) #回车 ? Pro
-
PHP 图像处理与SESSION制作超简单验证码的方法示例
本文实例讲述了PHP 图像处理与SESSION制作超简单验证码的方法.分享给大家供大家参考,具体如下: 验证码的实现 首先我们要清楚,无论是做什么东西,在做之前一定要有思路,譬如这个验证码里他有些什么,为了实现它我们该做些什么,怎么样去做. 这里我例举出几个点. 1.验证码肯定要有内容. 2.验证码里肯定要有干扰信息,就譬如,线条干扰和点点干扰. 那么为了实现他们我们该如何做呢? 第一步,创建一个名为captcha.php的文件 在里面输入 <?php session_start();//开启会
随机推荐
- Mootools 1.2教程 滑动效果(Slide)
- C#正则实现Ubb解析类的代码
- python中关于日期时间处理的问答集锦
- 支持中文的PHP按字符串长度分割成数组代码
- PHP字符过滤函数去除字符串最后一个逗号(rtrim)
- js 将input框中的输入自动转化成半角大写(税号输入框)
- 2种jQuery 实现刮刮卡效果
- MS-SQL Server 中单引号的两种处理方法
- jquery的总体架构分析及实现示例详解
- JqGrid web打印实现代码
- jQuery选择器基础入门教程
- 服务器重启不能启动的几种常见解决方法
- java支付宝即时到帐提交订单功能
- java仿枚举实例
- 新手学习.net的一列好走的路径及方法
- PHP检测用户是否关闭浏览器的方法
- RecyclerView Adapter辅助类详解及示例代码
- 详解IDEA中MAVEN项目打JAR包的简单方法
- vue中实现在外部调用methods的方法(推荐)
- python pycurl验证basic和digest认证的方法
