视频讲师:陈广老师
大家好,我们接着上节课的内容继续讲解字符。上节课我们对计算机的编码技术做了一个简要的概述,这节课我们用几个例子来演示C#中的字符处理机制。
在上一节课中我们已经讲过,在.NET Framework中字符总是表示成16位的UNICODE代码值,这样就简化了我们的开发。在以前的开发中,有些编程语言它英文所占用的是一个字节,而中文是2个字节,在C#中不管是英文还是中文它统一都是占用2个字节,这样就使得我们在程序中对字符处理都变的非常的方便了。我们可以在程序中直接读取一个中文的编码,当然这个编码是UNICODE编码,也可以通过UNICODE编码打印字符,代码如下:
下面我们打印出所有的UNICODE编码,看看里面有什么东西。创建一个GUI编程(选择windows 应用程序)。在默认的Form1窗体上放置一个panel控件,将其Dock属性改为Top(向上停靠),然后在这个panel中添加一个button按钮。接着再添加一个panel,放在第一个panel下面,将其Dock属性改为Fill(客户端)(这里我的理解就是占据容器的所有剩余的空间),然后在这个panel上添加一个Textbox控件,用来显示UNICODE值的,将其TextBox的Multiline属性改为True(显示多行文字),ScrollBars属性改为Vertical(设置滚动条为垂直显示),Dock属性改为Fill。可以运行下程序,显示窗体后再将窗体最大化,可以发现窗体的控件也随之变化。
下面我们双击button进入click事件,来编写代码:
执行程序,看下效果如图:
我们看到UNICODE字符就显示出来了,我们发现会有很多方框,这说明这些字符我们的操作系统没有安装它的字体,所以无法显示出来,只能用方框来代替了。我们最大化看里面的字符,有日文,中文,韩文等等,我们找到中文那一快,可以看出第一个中文是“一”,最后一个中文是“龥” (不是一定的,UNICODE也在不断的更新添加的,本人系统为Vista,最后一个中文是“龻”,这里还是以“龥”为例),好,下面我们把这2个字的编码打印出来。
我们得出中文的编码是从4e00到9fa5,这样我们就可以根据这个编码的范围去判断一个字符是否是中文,好,我们来做一下这个例子。我们可以新建一个Form2窗体,在里面添加一个Textbox控件和一个button按钮,在button按钮的click中编写代码:
这样就可以控制只能输入中文了。
Char类型给我们提供了几个方法:
Char.IsDigit //数字
Char.IsLetter //字母
Char.IsUpper //大写字母
Char.IsLower //小写字母
......
Char.IsLetterOrDigit //字母或数字
这些都简化了我们的开发,大家可以去MSDN查询这些方法,都有详细的说明和注释。(ToUpper和ToLower也十分常用)
下面我们来举个例子:
我们运行程序后,通过输入字符我们就可以判断出字符是什么类型了。
我们通过Char这几个静态函数就可以判断出这个字符是什么类型,方便了我们的开发。好,这节课的内容我们就讲到这里。
由快乐乔巴听课摘写笔记