я не знаю, как каждый символ строки в цикле перекодировать в номер ASCII элемента. Имеется str - строка english\russian букв.
Это работает
byte[] bytes = Encoding.GetEncoding(1251).GetBytes(str);
А это нет - пишет,подчёркивает str[i]
мол не удаётся char в char[] преобразовать.
Может это из-за того, что в первом случае массив, а тут нет.
Encoding.GetEncoding(1251).GetBytes(str[i])
Мне бы представление номера в int, чтобы через него вычислять позицию символа в алфавите
Windows-1251 - однобайтовая кодировка. Следовательно, в итоговом массиве каждый байт будет сооветствовать одному символу строки с тем же индексом. Поэтому можно сперва всю строку перевести в массив байт в этой кодировке, а потом итерироваться по массиву, получая коды символов.
var str = "Привет";
byte[] bytes = Encoding.GetEncoding(1251).GetBytes(str);
for (int i = 0; i < bytes.Length; i++)
Console.WriteLine(str[i] + " - " + bytes[i]);
На вход методу GetBytes
нужно подавать строку или массив символов, но не один символ типа char
. Поэтому следует преобразовывать символ в строку методом ToString
.
Получившийся массив будет всегда иметь длину 1. Это и есть код символа.
var str = "Привет";
for (int i = 0; i < str.Length; i++)
{
byte[] bytes = Encoding.GetEncoding(1251).GetBytes(str[i].ToString());
Console.WriteLine(str[i] + " - " + bytes[0]);
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Использую теcтовый запуск рекламы по сэмплам гугл вот код:
Мне нужно написать back-end с двумя типами аутентификации: JWT для обычных пользователей и Cookie для администраторовЯ знаю, что это делается очень...
На работе появилась необходимость передавать входные данные из TextBox'ов в базу данных SQL ServerВот мои попытки реализовать это