超简单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#固定长度的随机字符串例子
复制代码 代码如下: /// <summary>/// 固定长度的随机字符串/// </summary>/// <param name="length">长度</param>/// <returns>随机串</returns>public static String getRandStringEx(int length){char[] charList = {'0','1','2','3','4','5','6',
-
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="inputStr">输入字符串</param> /// <returns>最长数字</returns> public string GetMaxLenNumber(string inputStr) { //将字符串中的字符存放到数组中,便于处理 char[] strCharArray = inp
-
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#获取带汉字的字符串真实长度(单个英文长度为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();//开启会
随机推荐
- AngularJs bootstrap搭载前台框架——基础页面
- 第2天:什么是名字空间
- SQLServer 2008中SQL增强之二 Top新用途
- TextArea设置MaxLength属性最大输入值的js代码
- 手机号码,密码正则验证
- Javascript下拉刷新的简单实现
- asp.net继承IHttpHandler接口实现给网站图片添加水印功能实例
- PHP正则表达式匹配替换与分割功能实例浅析
- js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
- Android编程之控件状态配置文件实例
- JS选项卡动态替换banner图片路径的方法
- iOS 原生地图地理编码与反地理编码(详解)
- PHP实现自动对图片进行滚动显示的方法
- php基于curl扩展制作跨平台的restfule 接口
- JS跨域交互(jQuery+php)之jsonp使用心得
- javascript下function声明一些小结
- Javascript中setTimeOut和setInterval的定时器用法
- Javascript原型链的原理详解
- c#对象初始化顺序实例分析
- C#实现窗体与子线程的交互的方法