C#中string和ASCII相互转换

1.字符(串)转为ASCII码:

思路:1)把字符(串)直接转换为int类型,即可得到ASCII码;

   2)再将数字转换为字符串转出;

如:单个字符

int asc = (int)'a';  
Console.WriteLine(asc.ToString());

还有一种方法,调用函数System.Text.Encoding.ASCII,不过思路都是一样的如:

string str1 = "a";
byte[] array = System.Text.Encoding.ASCII.GetBytes(str1);
int asciicode = (int)(array[0]);
string ASCIIstr1 = Convert.ToString(asciicode); 
Console.WriteLine(ASCIIstr1);

 将字符串转为ASCII也是如此,只不过要把字符串中的字符单独处理,再连接起来

如:

string str2 = "SessionN";
byte[] array = System.Text.Encoding.ASCII.GetBytes(str2);  //数组array为对应的ASCII数组     
string ASCIIstr2 = null;
for (int i = 0; i < array.Length; i++)
 {
      int asciicode = (int)(array[i]);
      ASCIIstr2 += Convert.ToString(asciicode);//字符串ASCIIstr2 为对应的ASCII字符串
}

 2.ASCII转字符(串)

思路:直接将ASCII码转换为string类型,即可得到ASCII码对应的字符

如:

string alpha = ((char)65).ToString(); 
Console.WriteLine(alpha); 

 或者:string s=System.Text.Encoding.ASCII.GetString(buf);//这里的buf就是存放ASCII的byte数组

posted @ 2017-10-11 10:08  南山砍柴  阅读(46957)  评论(2编辑  收藏  举报