将int转换为ascii char c#

时间:2016-01-01 13:30:34

标签: c# ascii

我有一个int,我想显示副信。例如,如果int为“1”,我想显示“a”。

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

word += (i+96).ToString();
Console.WriteLine(word);

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

1 个答案:

答案 0 :(得分:5)

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

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

char c = (char)65;
char c = Convert.ToChar(65); 

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

string s = Encoding.ASCII.GetString(new byte[]{ 65 });

请注意,ASCIIEncoding不提供错误检测。任何大于十六进制0x7F的字节都会被解码为Unicode问号("?")。

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

word += (char)(i + 96);