Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 09.09.2018
Сообщений: 94

Массив Char

04.03.2023, 16:13. Показов 1176. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Такая проблема
У меня есть массив char, в который в цикле for я хочу добавить значения байтового массива, как это можно сделать?
Возможно, что мой мозг уже перегрелся, и я не вижу тривиального решения...
C#
1
2
3
4
5
6
byte[] asciiBytes = Encoding.ASCII.GetBytes(textBox1.Text);
char[] msgChars = { };
for (int j = 0; j < asciiBytes.Length; j++)
      {
        msgChars = (Convert.ToString(asciiBytes[j], 2)).ToCharArray();
       }
Таким способом я только переназначаю переменную, но никак не добавляю значения.
Спасибо!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.03.2023, 16:13
Ответы с готовыми решениями:

Методы Char.IsLower Char.IsUpper Char.IsDigit
Доброго времени суток, месяц назад сделал задание: С помощью перебора всех символов строки, введенной в текстовое поле, вычислите...

Преобразовать массив char в массив int
Есть строка с числами (значение от 0 до 9), между собой разделены пробелами, общее кол-во чисел не известно. Нужной найти их сумму. ...

Двумерный массив char
Как создать двумерный массив char?

10
Эксперт .NET
 Аватар для Rius
13030 / 7595 / 1662
Регистрация: 25.05.2015
Сообщений: 23,109
Записей в блоге: 14
04.03.2023, 16:52
Цитата Сообщение от 1fox1 Посмотреть сообщение
добавить значения байтового массива, как это можно сделать?
А можно на русском?
Если не можете, то приведите пример исходного значения и ожидаемого результата.
0
0 / 0 / 1
Регистрация: 09.09.2018
Сообщений: 94
04.03.2023, 17:03  [ТС]
Есть массив byte, который хранит в себе, допустим, 4 числовых значения.
C#
1
byte[] asciiBytes = Encoding.ASCII.GetBytes(textBox1.Text);
Есть цикл, с помощью которого я пытаюсь в массив char записать значения из байтового массива в двоичной системе исчисления.
C#
1
2
3
4
for (int j = 0; j < asciiBytes.Length; j++)
     {
          msgChars = (Convert.ToString(asciiBytes[j], 2)).ToCharArray();
      }
Ожидаемы результат:
msgChars = '1','1','0','1'....'0';
То есть все числа byte массива переведены в двоичную систему исчисления и хранятся побитово.
Надеюсь, стало более понятно...
0
Эксперт .NET
 Аватар для Rius
13030 / 7595 / 1662
Регистрация: 25.05.2015
Сообщений: 23,109
Записей в блоге: 14
04.03.2023, 17:06
1 байт займёт 8 символов в массиве.
Следующий байт ещё 8 символов.
Это действительно нужно? Не 1 строка на байт?

Добавлено через 1 минуту
Текст только на латинице? Русский или другой язык не предполагается?
0
0 / 0 / 1
Регистрация: 09.09.2018
Сообщений: 94
04.03.2023, 17:08  [ТС]
Да, нужно разбить каждый байт на 8 символов
Собственно, в char массив записывается одно значения как надо, но я не понимаю ,как записать в этот массив несколько чисел

Добавлено через 29 секунд
Я использую латиницу, это не принципиально
0
Эксперт .NET
 Аватар для Rius
13030 / 7595 / 1662
Регистрация: 25.05.2015
Сообщений: 23,109
Записей в блоге: 14
04.03.2023, 17:18
Лучший ответ Сообщение было отмечено 1fox1 как решение

Решение

Цитата Сообщение от 1fox1 Посмотреть сообщение
Я использую латиницу, это не принципиально
ASCII только с латиницей сработает правильно.


C#
1
2
3
4
5
6
7
8
9
var input = "qwerty";
var bytes = Encoding.ASCII.GetBytes(input);
var bits = new BitArray(bytes);
var result = bits.OfType<bool>().Select(x => x ? '1' : '0').ToArray();
 
// Вывод
foreach (var item in result) {
  Console.WriteLine(item);
}
Добавлено через 3 минуты
C#
1
2
3
4
5
6
7
8
var input = "qwerty";
var bytes = Encoding.ASCII.GetBytes(input);
var result = new List<char>();
 
foreach (var b in bytes)
{
  result.AddRange((Convert.ToString(b, 2)).ToCharArray());
}
1
0 / 0 / 1
Регистрация: 09.09.2018
Сообщений: 94
04.03.2023, 17:51  [ТС]
Спасибо большое!!! Все сработало как надо!

Добавлено через 29 минут
Нашел проблему...
Данный способ переворачивает каждый байт
К примеру я кодирую символы "mitr"
Результатом будет - 10110110 10010110 00101110 01001110
Хотя правильный - 1101101 1101001 1110100 1110010
0
Эксперт .NET
 Аватар для Rius
13030 / 7595 / 1662
Регистрация: 25.05.2015
Сообщений: 23,109
Записей в блоге: 14
04.03.2023, 17:52
Какой? Там два. Возьмите другой.
0
0 / 0 / 1
Регистрация: 09.09.2018
Сообщений: 94
04.03.2023, 18:14  [ТС]
Я использовал первый
А второй не подходит для дальнейших действий
0
Эксперт .NET
 Аватар для Rius
13030 / 7595 / 1662
Регистрация: 25.05.2015
Сообщений: 23,109
Записей в блоге: 14
04.03.2023, 18:16
Почему? Там на выходе список. В массив -.ToArray()
0
0 / 0 / 1
Регистрация: 09.09.2018
Сообщений: 94
04.03.2023, 18:19  [ТС]
Да, я усложнил себе задачу...
Второй способ отлично работает, спасибо еще раз!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.03.2023, 18:19
Помогаю со студенческими работами здесь

Из List в массив Char
Добрый день Помогите разобраться в следующем: Имеются некие строки например: &quot; q1 w2 e3 r4&quot; &quot;a1 s2 d3&quot; &quot;...

Как char записать в массив?
пример кода for (int i = 0; i &lt; N; i++) { char str = A.ToCharArray(); ...

Перевод из string в массив char
char arrays = a.ToCharArray() Перевожу из стринга в массив чар, но мне нужно, чтобы нулевой и последний элементы массива были равну '...

Преобразовать байтовый массив в char
VersionInfo - содержит байтовый массив из двух элементов (30,38) Хочу получить на выходе &quot;08&quot; в строковом виде. string...

Конвертировать string массив в char
Здравствуйте, друзья! Имеется массив string, который поэлементно заполняется из textBox1. Нужно приравнять его к char, чтобы вывести в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru