Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 6

Создание строки из массива битов

14.03.2013, 19:24. Показов 6229. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как перевести массив битов обратно в Строку?

C#
1
2
3
4
String s = "dfsdf";
byte[] strBytes = Encoding.Unicode.GetBytes(s);
BitArray a = new BitArray(strBytes);
// А тут надо как то создать строку из этого массива битов
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2013, 19:24
Ответы с готовыми решениями:

Создание массива 1-й строки и массива 2-й строки из файла
Здравствуйте! Столкнулся с проблемой: в текстовом файле первая строка - это числа через пробел, вторая строка такая же. Нужно заполнить...

Из двух целых чисел А и B собрать одно, состоящее из четных битов A и нечетных битов B...
Нужна помощь с задачей. Из двух целых чисел А и B собрать одно, состоящее из четных битов A и нечетных битов B

Перевод таблицы битов и времени в последовательность битов arduino
доброго времени суток в приведенной ниже таблице левый столбец - биты, правый - их длительность. известно, что единичный сигнал длится от...

10
Заблокирован
14.03.2013, 19:30
Цитата Сообщение от demon112 Посмотреть сообщение
BitArray
в таком контексте не используется вообще.
0
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 6
14.03.2013, 19:45  [ТС]
а как тогда поступить? Мне надо выполнить битовые операции над стройкой.
0
16 / 16 / 4
Регистрация: 01.03.2013
Сообщений: 139
Записей в блоге: 1
14.03.2013, 21:03
Цитата Сообщение от demon112 Посмотреть сообщение
Подскажите как перевести массив битов обратно в Строку?

C#
1
2
3
4
String s = "dfsdf";
byte[] strBytes = Encoding.Unicode.GetBytes(s);
BitArray a = new BitArray(strBytes);
// А тут надо как то создать строку из этого массива битов
Разве у вас строка не осталась в том же состоянии и что была вначале?
0
774 / 554 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
14.03.2013, 22:44
Попробовал написать код но не робит .Так что присоединюсь к вопросу .Каким способом можно из битов стринг получить ??
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
static void Main()
        {
            
            string s = "s";
            byte[] strBytes = Encoding.Default.GetBytes(s);
            BitArray a = new BitArray(strBytes);
            Console.WriteLine(a.Length);
            Console.WriteLine(BinaryToString(a));
            Console.ReadLine();
 
        }
        static string BinaryToString(BitArray array)
        {
            Char[] arr = new Char[8];
            List<byte> b = new List<byte>(); 
            for (int i = 0; i < array.Length; i += 8)
            {
                for (int y = 0; y < 8; y++)
                {
                    arr[y] = array[y + i] ? '1' : '0';
                }
                Console.WriteLine(new string(arr));
               
                b.Add(  (byte)  BinaryToDecimal(new string(arr))  );
            }
            return Encoding.Default.GetString(b.ToArray());
        } 
 
 
        static int BinaryToDecimal(string val)
        {
            int sum = 0;
            int i = val.Length - 1;
 
            foreach (char c in val)
            {
                sum += c == '1' ? (int)Math.Pow(2, i) : 0;
                i--;
            }
            Console.WriteLine(sum+"  << digit");
            return sum;
        }
0
Заблокирован
14.03.2013, 22:51
у меня получилось
0
774 / 554 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
14.03.2013, 22:54
loro, Кажи код
0
Заблокирован
14.03.2013, 23:09
C#
1
2
3
4
5
6
7
8
9
10
11
 static void Main(string[] args)
        {
            string s = "dfsdf";
            byte[] strBytes = Encoding.Unicode.GetBytes(s);
            BitArray a = new BitArray(strBytes);
            byte[] byteArray = new byte[(int)Math.Ceiling((double)a.Length / 8)];
            a.CopyTo(byteArray, 0);
            var str = Encoding.Unicode.GetString(byteArray);
            Console.WriteLine(str);
            Console.ReadKey();
        }
Добавлено через 8 минут
только сегодня у Рихтера освежил в памяти всю мощь Array.CopyTo() и вот тебе и доказательство.
2
14.03.2013, 23:13

Не по теме:

Вчера тоже его читал но он там что про IL код рассказывал и про metadata )

0
Заблокирован
14.03.2013, 23:28

Не по теме:

Vitall, адова репутация у тебя:)



Добавлено через 1 минуту
точнее Array.Copy() .. он там внутри у себя дергает.
0
774 / 554 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
14.03.2013, 23:42

Не по теме:

Цитата Сообщение от loro Посмотреть сообщение
адова репутация у тебя
Пусть побудет,потом на 777 пойдем )


Цитата Сообщение от loro Посмотреть сообщение
точнее Array.Copy() .. он там внутри у себя дергает.
Ну да у шарпа много всего готового и не разгребешь всего )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2013, 23:42
Помогаю со студенческими работами здесь

Смещение строки на 7 битов в лево
Нужно сместить строку на 7 битов влево, но смещает вправо. помогите пожалуйста. в чем проблемма? Model Small . Stack 100h . Data ...

Циклическое кодирование строки байтов с ключа N из битов
Помогите, пожалуйста дописать программу, так чтобы она запускалась (на turbo pascal) Задание такое: &quot;Разработать процедуру...

Создание массива из строки
есть: $str = &quot;1,2,3,4,5,6&quot;; нужно получить $arr = array(&quot;1&quot;, &quot;2&quot;, &quot;3&quot;, &quot;4&quot;, &quot;5&quot;,...

Создание массива из строки
У меня в php скрипт приходит такая строка: par=name1|login1|paswd1&amp;par=name2|login2|paswd2 Я её разбиваю через explode: ...

Создание массива из строки
Я ввожу любую строку без пробелов, например &quot;A+B+!C&quot;: char *str=(Label1-&gt;Caption.c_str()); Как создать массив, каждый элемент...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru