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

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

Здесь есть миллион сообщений о том, как преобразовать символ в его значение ASCII.
Ну, я хочу полную противоположность.
У меня есть значение ASCII, сохраненное как int, и я хочу отобразить его представление символа ASCII в строке.

то есть. пожалуйста, отобразите код для преобразования int 65 в A.

В настоящее время у меня есть String::Format("You typed '{0}'", (char)65)

но это приводит к "You typed '65'", тогда как я хочу, чтобы он был "You typed 'A'"

Я использую С++/CLI, но я предполагаю, что любой язык .NET будет...

(отредактирован пост-гуманно, чтобы улучшить вопрос для будущих гуглеров)

4b9b3361

Ответ 1

В С++:

int main(array<System::String ^> ^args)
{
    Console::WriteLine(String::Format("You typed '{0}'", Convert::ToChar(65)));
    return 0;
}

Ответ 2

Существует несколько способов:

char c = (char)65;
char c = Convert.ToChar(65);
string s = new string(65, 1);
string s = Encoding.ASCII.GetString(new byte[]{65});

Ответ 3

Для значений ASCII вы должны просто указать на char? (С#)

char a = (char)65;

или как строка:

string a = ((char)65).ToString();

Ответ 4

 Dim str as string    
 str = Convert.ToChar(65).ToString()
 msgbox(str)

Ответ 5

Комплексная версия, конечно же, такова:

public string DecodeAsciiByte(byte b) {
    using(var w = new System.IO.StringWriter()) {
        var bytebuffer = new byte[] { b };
        var charbuffer = System.Text.ASCIIEncoding.ASCII.GetChars(bytebuffer);
        w.Write(charbuffer);
        return w.ToString();
    }
}

Конечно, это до того, как я прочитал ответ, используя метод Encoding.GetString. D'о.

public string DecodeAsciiByte(byte b) {
    return System.Text.Encoding.ASCII.GetString(new byte[] { b });
}

Ответ 6

Просто бросьте его; не может быть проще.

// C#
int i = 65;
Console.WriteLine((char)i);

Ответ 7

В этом есть много способов. Если вы хотите, чтобы они вводили последовательные цифры с пробелами и пробелами, вы могли бы использовать что-то вроде:

    string userInput = "123456";
    var digits = str.Select(c => Convert.ToInt32(c.ToString()));