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数组