C#中使用强制类型实现字符串和ASCII码之间的转换
C#貌似没有专门用于ASCII码转字符或字符转ASCII码的系统函数,所以小编这里就借用一下强制类型转换来实现ASCII码与字符之间的互转。
所谓的ASCII码,即American Standard Code for Information Interchange,美国信息互换标准代码的简写,它是基于拉丁字母的编码系统,也是当前最为通用的单字节编码系统。本文讲述在C#中如何实现字母或 数字等字符如何转换为ASCII编码,同时也可以将ASCII编码转换为字符。
int asc = (int)'a'; // 把字符直接转换为int类型,即可得到ASCII码值
MessageBox.Show(asc.ToString()); // 将数字转换为字符串转出
string alpha = ((char)65).ToString(); // 将数字直接转换为char类型,即可得到ASCII码对应的字符
MessageBox.Show(alpha); // 将字符串输出
小编这里取了巧,因为C#貌似没有专门用于ASCII码转字符或字符转ASCII码的系统函数,所以这里就借用一下强制类型转换,效果可见非常好!
另外看到有一本书上说可以使用如下方式来获取ASCII码:
System.Text.Encoding.GetEncoding("unicode").GetBytes(new char[] { 'a' }).ToString();
大家可以去试一下,简直是扯淡!GetBytes返回的是一个数组,对一个数组使用ToString()将得到“System.Byte[]”,这是数组的类型。
当然,如果在GetBytes后加一个[0],索引它的第一个元素,这时才能得到正确的值。使用如下:
System.Text.Encoding.GetEncoding("unicode").GetBytes(new char[] { 'a' })[0].ToString();