Подтвердить что ты не робот

Как преобразовать номер в символ ASCII?

Я хочу создать приложение, в котором пользователь вводит номер, и программа будет отбрасывать символ пользователю.

Изменить: как насчет наоборот, изменение символа ascii на число?

4b9b3361

Ответ 1

Вы можете использовать один из этих методов для преобразования числа в символ ASCII/Unicode/UTF-16:

Вы можете использовать эти методы, чтобы преобразовать значение указанного 32-разрядного целого числа со знаком в символ Юникода:

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

Кроме того, ASCII.GetString декодирует диапазон байтов из массива байтов в строку:

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

Имейте в виду, что ASCIIEncoding не обеспечивает обнаружение ошибок. Любой байт, превышающий шестнадцатеричный 0x7F, декодируется как знак вопроса Юникод ( "?" ).

Ответ 2

Изменить: по запросу я добавил чек, чтобы убедиться, что введенное значение находилось в диапазоне ASCII от 0 до 127. Если вы хотите ограничить это, зависит от вас. В С# (и, я считаю,.NET в целом), char представлены с использованием UTF-16, поэтому любое допустимое значение символа UTF-16 может быть введено в него. Однако, возможно, система не знает, как должен выглядеть каждый символ Юникода, чтобы он мог отображаться некорректно.

// 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);
    }
}

Ответ 3

вы можете просто бросить его.

char c = (char)100;

Ответ 4

Чтобы получить ascii для числа, вы просто добавите значение char в целое число.

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

Теперь переменное значение будет иметь значение 97, которое соответствует значению этого символа ascii

(Используйте эту ссылку для справки) http://www.asciitable.com/index/asciifull.gif

Ответ 5

С# представляет символ в кодировке UTF-16, а не ASCII. Поэтому преобразование целого числа в символ не имеет никакого значения для A-Z и a-z. Но я работал с 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);
}

Ответ 6

Я искал информацию о том, как конвертировать int в char, что привело меня сюда. Но мой вопрос состоял в том, чтобы преобразовать, например, int от 6 до char из '6'. Для тех, кто пришел сюда, как я, вот как это сделать:

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