欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#中使用强制类型实现字符串和ASCII码之间的转换

程序员文章站 2024-02-15 10:21:40
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();