我想创建一个应用程序,用户可以在其中输入一个数字,程序会向用户返回一个字符。
编辑:反之亦然,将 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);
}
}
要将 ascii 转换为数字,只需将 char 值转换为整数。
char ascii = 'a'
int value = (int)ascii
变量值现在将有 97 对应于该 ascii 字符的值
(使用此链接作为参考) http://www.asciitable.com/index/asciifull.gif
你可以简单地施放它。
char c = (char)100;
我在谷歌上搜索如何将 int 转换为 char,这让我来到了这里。但我的问题是将例如 int of 6 转换为 char of '6'。对于像我一样来到这里的人,这是如何做到的:
int num = 6;
num.ToString().ToCharArray()[0];
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);
}