C#中字符的 ASCII 码和 Unicode 码

很多时候我们需要得到一个英文字符的 ASCII 码,或者一个汉字字符的 Unicode 码,或者从相关的编码查询它是哪一个字符的编码。很多人,尤其是从 VB 程序序转过来学 C# 的人,会报怨 C# 里为什么没有提供现成的函数来做这个事情——因为在 VB 中有 Asc() 函数和 Chr() 函数用于这类转换。
    但是如果你学过 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");
    }

    它的运行结果是

    The ASCII code of 'a' is: 97
    ASCII is 65, the char is: A
    The Unicode of '中' is: 20013
    Unicode is 22478, the char is: 城

    从这个例子中,我们便能非常清楚的了解——通过强制转换,可以得以字符的编码,或者得到编码表示的字符。如果你需要的不是 short 型的编码,请参考第 1 条进行转换,即可得到 int 等类型的编码值 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值