Как преобразовать строку в ASCII

Как преобразовать каждую букву в строку в ее значение символа ASCII?

Ответы

Ответ 1

Для любой строки попробуйте это:

string s = Console.ReadLine();
foreach( char c in s)
{
    Console.WriteLine(System.Convert.ToInt32(c));
}
Console.ReadKey();

Ответ 2

.NET хранит все строки как последовательность кодовых блоков UTF-16. (Это достаточно близко к символам Unicode для большинства целей.)

К счастью для вас, Unicode был разработан таким образом, что значения ASCII сопоставляются с одним и тем же номером в Unicode, поэтому после преобразования каждого символа в целое число можно просто проверить, находится ли он в диапазоне ASCII. Обратите внимание, что вы можете использовать неявное преобразование от char до int - нет необходимости вызывать метод преобразования:

string text = "Here some text including a \u00ff non-ASCII character";
foreach (char c in text)
{
    int unicode = c;
    Console.WriteLine(unicode < 128 ? "ASCII: {0}" : "Non-ASCII: {0}", unicode);
}

Ответ 3

Это довольно просто:

string s = "ABCD";
byte[] bytes = Encoding.ASCII.GetBytes(s);
int result = BitConverter.ToInt32(bytes, 0);

Теперь у вас есть массив для всех байтов, а кодировка int - result. Если вам нужно вернуться, вы можете выбрать:

int i = result;
byte[] bytes2 = BitConverter.GetBytes(i);
string s2 = Encoding.ASCII.GetString(bytes);

Ответ 4

Попробуйте Linq:

Result = string.Join("", input.ToCharArray().Where(x=> ((int)x) < 127));

Это отфильтрует всех не ascii символов. Теперь, если вам нужен эквивалент, попробуйте следующее:

Result = string.Join("", System.Text.Encoding.ASCII.GetChars(System.Text.Encoding.ASCII.GetBytes(input.ToCharArray())));

Ответ 5

Я думаю, что этот код может вам помочь:

string str = char.ConvertFromUtf32(65)

Ответ 7

Это поможет вам конвертировать любую строку в ASCII.

        string s = Console.ReadLine();
        foreach (char c in s)
        {
            Console.WriteLine(System.Convert.ToInt32(c));
        }
        Console.ReadKey();