chenmingwei 2009-08-28
C#语言有很多值得学习的地方,这里我们主要介绍C#字符ASCII码,包括介绍汉字字符的 Unicode 码等方面。
C#字符ASCII码
很多时候我们需要得到一个英文字符的 ASCII 码,或者一个汉字字符的 Unicode 码,或者从相关的编码查询它是哪一个字符的编码。很多人,尤其是从 VB 程序序转过来学 C# 的人,会报怨 C# 里为什么没有提供现成的函数来做这个事情――因为在 VB 中有 Asc() 函数和 Chr() 函数用于这类转换。
但是如果你学过 C,你就会清楚,我们只需要将英文字符型数据强制转换成合适的数值型数据,就可以得到相应的C#字符ASCII码;反之,如果将一个合适的数值型数据强制转换成字符型数据,就可以得到相应的字符。
C# 中字符的范围扩大了,不仅包含了单字节字符,也可以包含双字节字符,如中文字符等。而在字符和编码之间的转换,则仍延用了 C 语言的做法――强制转换。不妨看看下面的例子
private void TestChar() { char ch = 'a'; short ii = 65; this.textBox1.Text = ""; this.textBox1.AppendText("The ASCII code of \'" + ch + "\' is: " + (short) ch + "\n"); this.textBox1.AppendText("ASCII is " + ii.ToString() + ", the char is: " + (char) ii + "\n"); char cn = '中'; short uc = 22478; this.textBox1.AppendText("The Unicode of \'" + cn + "\' is: " + (short) cn + "\n"); this.textBox1.AppendText("Unicode is " + uc.ToString() + ", the char is: " + (char) uc + "\n"); }
它的运行结果是