C#中使用强制类型实现字符串和ASCII码之间的转换
程序员文章站
2023-12-17 22:39:34
c#貌似没有专门用于ascii码转字符或字符转ascii码的系统函数,所以小编这里就借用一下强制类型转换来实现ascii码与字符之间的互转。
所谓的ascii码,即ame...
c#貌似没有专门用于ascii码转字符或字符转ascii码的系统函数,所以小编这里就借用一下强制类型转换来实现ascii码与字符之间的互转。
所谓的ascii码,即american standard code for information interchange,美国信息互换标准代码的简写,它是基于拉丁字母的编码系统,也是当前最为通用的单字节编码系统。本文讲述在c#中如何实现字母或 数字等字符如何转换为ascii编码,同时也可以将ascii编码转换为字符。
一、将字符转换为ascii码(数字)
复制代码 代码如下:
int asc = (int)'a'; // 把字符直接转换为int类型,即可得到ascii码值
messagebox.show(asc.tostring()); // 将数字转换为字符串转出
二、将ascii码(数字)转换为字符
复制代码 代码如下:
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();