Ответ 1
Для любой строки попробуйте это:
string s = Console.ReadLine();
foreach( char c in s)
{
Console.WriteLine(System.Convert.ToInt32(c));
}
Console.ReadKey();
Как преобразовать каждую букву в строку в ее значение символа ASCII?
Для любой строки попробуйте это:
string s = Console.ReadLine();
foreach( char c in s)
{
Console.WriteLine(System.Convert.ToInt32(c));
}
Console.ReadKey();
.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);
}
Это довольно просто:
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);
Попробуйте 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())));
Я думаю, что этот код может вам помочь:
string str = char.ConvertFromUtf32(65)
Используйте Convert.ToInt32() для преобразования. Вы можете взглянуть на Как преобразовать строку в значение ASCII в С# и Значения ASCII.
Это поможет вам конвертировать любую строку в ASCII.
string s = Console.ReadLine();
foreach (char c in s)
{
Console.WriteLine(System.Convert.ToInt32(c));
}
Console.ReadKey();