C#中如何获得ASCII码的字母?

发布时间 2023-10-12 10:10:22作者: 一路探索者

       ASCII码是计算机的基础,有时编程过程中也要遇到,这里重点介绍0-127之间的ASCII码表。

      0~31及127(共33个)是控制字符和通信专用字符。控制字符,如LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等。通信专用字符,如SOH(文头)、EOT(文尾)、ACK(确认)等。ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们不能显示出来,但会依不同的应用程序,而对文本显示有不同的影响。

      32~126(共95个)是可显字符,其中32是空格;48~57为0到9十个阿拉伯数字;65~90为26个大写英文字母;97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

      ASCII是0-127的整数,要获取某个字符的ASCII,可以通过Encoding类的ASCII属性和GetString( )方法来实现。

      GetString( )方法声明如下:

public virtual string GetString(

       byte[] bytes

)

 

public virtual string GetString(

       byte[] bytes,

       int index,

       int count

)

 

参数

bytes

类型:System.Byte[]

包含要解码的字节序列的字节数组。

index

类型:System.Int32

第一个要解码的字节的索引。

count

类型:System.Int32

要解码的字节数。

 

返回值

类型:System.String

包含指定字节序列解码结果的 String。

 

      本例的关键代码如下:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text; //引用Encoding

using System.Windows.Forms;

 

private void button1_Click(object sender, EventArgs e)

{

    try

    {

        if (textBox1.Text == "")

        {

            MessageBox.Show("ASCII码值不能为空", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);

            textBox1.Focus();

        }

        else

        {

            byte[] array = new byte[1];

            array[0] = (byte)(Convert.ToInt32(textBox1.Text.Trim()));

            Encoding ascii = Encoding.ASCII;

            string strAscii = ascii.GetString(array);

            textBox2.Text = strAscii;                  

        }

    }

    catch

    {

        MessageBox.Show("请输入合法的ASCII码值", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);

        textBox1.Text = "";

        textBox1.Focus();

    }

}