字符存储结构实际存储的就是字节代码,汉字的unicode编码之后,使用unicode编码存储之后可以对每个字节的字节码进行比较,从而可以按照编码的结构来判断是否是汉字,特殊字符。判断是否是汉字或者是其他某种文字,都是按照这个原理实现。对于C#语言来说,判断方法总结起来有如下三种。
1.直接使用Unicode编码比较
中文汉字的unicode编码范围为4e00到9fee,代码如下:
string text = "是不是汉字abc";
char[] textArr = text.ToCharArray();
for (int i = 0; i < textArr.Length; i++)
{
if (textArr[i] >= 0x4e00 && textArr[i] <= 0x9fbb)
{
Console.Write(textArr[i] + "\t是汉字,unicode编码为:");
Console.WriteLine(Convert.ToString(text[i], 16));
}
else
{
Console.WriteLine(textArr[i] + "\t不是汉字");
}
}
2.使用正则表达式匹配
与前者同样的原理,使用的是对每一个字符进行正则匹配,表达式如下
@"[\u4e00-\u9fbb]"
匹配成功则为汉字,这是利用了正则表达式引擎自带的对unicode字符编码的支持。
3.使用ASCII
由于ASCII编码只使用了一个字节的前七位,而对于使用了第八位的编码字节则都是非ASCII编码的字符,因此可以据此判断是否是汉字等非ASCII编码的特殊字符。
string text = "是不是汉字abc";
for (int i = 0; i < text.Length; i++)
{
if ((short)text[i] > 127)
{
Console.Write(text[i] + "是汉字,ASCII编码:" );
Console.WriteLine( Convert.ToString((short)text[i],16));
}
else
Console.WriteLine("不是汉字");
}
补充:C#中的进制转换
- 十进制转换为其他进制:使用Convert.ToString(十进制数字,2/8/16),这样转换的结果是一个其他进制对应的字符串,第二个参数还可以是IFormatProvider类型的参数用于指定转换的特定格式。
- 二、八、十六进制转换为十进制:使用Convert.ToInt32(其他进制字符串,2/8/16),第一个参数是第二个参数对应的进制的字符串。转换结果为十进制的数字。
分享到:
相关推荐
本文实例讲述了C#简单判断字符编码的方法。分享给大家供大家参考,具体如下: public static string GetText(byte[] buff) { string strReslut = string.Empty; if (buff.Length > 3) { if (buff[0] == 239 && ...
本文实例讲述了C#判断字符串是否存在字母及字符串中字符的替换的方法。分享给大家供大家参考。具体实现方法如下: 首先要添加对命名空间“using System.Text.RegularExpressions;”的引用 下面以一个字符串为例: ...
C#判断字符串是否为数字字符串
C#判断一个字符是否在字符串里/数组里。 简单小例子,测试可用。赶快学习,大家一起进步吧。
包含了常用正则表达式的使用,验证,正则表达式替换字符串,判断字符串是否为正整数,判断输入的字符串是否全是英文、中文....
在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,具体代码如下: 代码如下:string text = “是不是汉字,ABC,柯乐义”; for (int i = 0; i < text> 127) Console.WriteLine(“是汉字”); else Console....
c#版本的校验文本是否为合法json格式,单独一个类无需其他引用
主要介绍了C#判断字符编码的方法,结合实例形式总结分析了六种C#判断字符编码的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
快速判断字符串包含中文,通过字符串长度比较,高效率判断是否含有中文字符。
Android Force Close 出现的异常原因分析及解决方法C#判断字符串是否是数字(实例)C#自动判断Excel版本使用不同的连接字符串C#判断字符串是否存在字母及字符串中字符的替换实例C#实现判断字符串中是否包含中文的方
C#判断是否为整数,正则表达式判断,简单效率高,比用try更快
主要介绍了C#实现判断字符串中是否包含中文的方法,非常实用的功能,需要的朋友可以参考下
中文匹配C#中文文本匹配,字符串匹配,中文词语匹配,计算2个句子相似度 C#中文文本匹配,字符串匹配,中文词语匹配,计算多个句子相似度 C#中文文本匹配,字符串匹配,中文词语匹配,计算2个句子相似度 C#中文文本...
本文实例讲述了C#实现将字符串转换成日期格式的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:string s = ... 您可能感兴趣的文章:C#中判断、验证字符串是否为日期格式的实现代码C# string
判断汉字一般是输入 >255 因为汉字是大字符集二、判断输入的是不是数字 代码如下:try{int n = 0;n = int.Parse(this.textBox1.Text.Trim());}catch{MessageBox.Show(“你输入的不是数字~!”);}也可以用Char.is
C#中三种判断是不是数字的方法: 第一种: try catch方法。。。 第二种: 正则表达式方法。。。 第三种: Double.TryParse方法。。。 具体见文档
或wchar_t*来表示,char*表示的是ANSCII字符串, wchar_t*表示Unicode字符串,Unicode字符串在C/C++中一个字符占用两个字节,ANSII字符串一个字符占用一个字节(中文占用两个字节), 如果C++的接口声明为char*的入口...
c# winfrom 判断前后字符串是否相同 vs2013源码 数字正则表达式
C#多控件判断是否为空,简单好用的方法!C#多控件判断是否为空,简单好用的方法!C#多控件判断是否为空,简单好用的方法!