如何将数字转换为ASCII字符?

我想创build一个应用程序,用户可以input一个数字,程序会向用户返回一个字符。

编辑:如何反之亦然,更改为ASCII码字符?

Solutions Collecting From Web of "如何将数字转换为ASCII字符?"

您可以使用以下方法之一将数字转换为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问号(“?”)。

编辑:通过请求,我添加了一个检查,以确保输入的值是在0到127的ASCII范围内。是否要限制这是由你决定的。 在C#中(我相信.NET通常), char s使用UTF-16表示,所以任何有效的UTF-16字符值都可以被转换。 但是,系统可能不知道每个Unicode字符应该是什么样子,因此它可能显示不正确。

 // Read a line of input string input = Console.ReadLine(); int value; // Try to parse the input into an Int32 if (Int32.TryParse(input, out value)) { // Parse was successful if (value >= 0 and value < 128) { //value entered was within the valid ASCII range //cast value to a char and print it char c = (char)value; Console.WriteLine(c); } } 

你可以简单地施放它。

 char c = (char)100; 

要得到一个数字的ASCII码,你只需要把你的char值转换成一个整数。

 char ascii = 'a' int value = (int)ascii 

现在变量值将有97,它对应于ascii字符的值

(使用此链接以供参考) http://www.asciitable.com/index/asciifull.gif

C#代表UTF-16编码的字符而不是ASCII。 因此,将整数转换为字符对AZ和az没有任何影响。 但是我正在使用ASCII码,除了字母和数字,因为系统使用的是UTF-16编码,所以不适合我。 因此我浏览了所有UTF-16字符的UTF-16编码。 这里是模块:

 void utfchars() { int i, a, b, x; ConsoleKeyInfo z; do { a = 0; b = 0; Console.Clear(); for (i = 1; i <= 10000; i++) { if (b == 20) { b = 0; a = a + 1; } Console.SetCursorPosition((a * 15) + 1, b + 1); Console.Write("{0} == {1}", i, (char)i); b = b+1; if (i % 100 == 0) { Console.Write("\n\t\t\tPress any key to continue {0}", b); a = 0; b = 0; Console.ReadKey(true); Console.Clear(); } } Console.Write("\n\n\n\n\n\n\n\t\t\tPress any key to Repeat and E to exit"); z = Console.ReadKey(); if (z.KeyChar == 'e' || z.KeyChar == 'E') Environment.Exit(0); } while (1 == 1); } 

我是谷歌如何将一个int转换为char,这让我在这里。 但是我的问题是将例如6的int转换为6的char。 对于像我这样来到这里的人来说,就是这样做的:

 int num = 6; num.ToString().ToCharArray()[0];