将int转换为ascii char c#

Erl*_*nis 2 c# ascii

我有一个int,我想显示联系字母。例如,如果int为“ 1”,我想显示“ a”。

我有一个变量“ word”,我想在其中添加这个字母。这是我的代码:

word += (i+96).ToString();
Console.WriteLine(word);
Run Code Online (Sandbox Code Playgroud)

但是在控制台中,我有一个数字列表。我找到了,Encoding.ASCII.GetChars但是它想要一个bytein参数。我该怎么办?

Far*_*yev 7

您可以使用以下方法之一将数字转换为ASCII / Unicode / UTF-16 字符:

您可以使用以下方法将指定的32位带符号整数的值转换为其Unicode字符:

char c = (char)65;
char c = Convert.ToChar(65); 
Run Code Online (Sandbox Code Playgroud)

但是,ASCII.GetString将字节数组中的字节范围解码为字符串:

string s = Encoding.ASCII.GetString(new byte[]{ 65 });
Run Code Online (Sandbox Code Playgroud)

请记住,ASCIIEncoding不提供错误检测。任何大于十六进制0x7F的字节都将解码为Unicode问号(“?”)。

因此,为了解决问题,可以使用以下方法之一,例如:

word += (char)(i + 96);
Run Code Online (Sandbox Code Playgroud)

  • 好答案。实际上,最后一个是唯一涉及ASCII的代码。前三个全部采用Unicode / UTF-16代码单元。而且,当然,结果是所有Unicode / UTF-16代码单元(“ char”是一个代码单元;“ string”是一个计数的代码单元序列)。重要的是要知道您正在使用哪种字符集和编码。ASCII很少。 (2认同)