|
2 / 2 / 2
Регистрация: 16.04.2013
Сообщений: 15
|
|||||||||||
Считывание бинарного файла в виде нулей и единиц16.04.2013, 10:30. Показов 15106. Ответов 12
Метки нет (Все метки)
Всем привет.
Необходимо реализовать помехоустойчивое кодирование для файла(код Хэмминга, если быть точным). Для этого мне необходимо каждый байт входного файла рассматривать в виде последовательности бит и иметь доступ к каждому биту. Сам алгоритм кодирования для текстовых файлов реализовал без проблем(каждый считываемый символ приводил к нужному виду с помощью
Суть проблемы:
Буду рад любой помощи.
0
|
|||||||||||
| 16.04.2013, 10:30 | |
|
Ответы с готовыми решениями:
12
Перевод бинарного изображения в массив из нулей и единиц Дана строка, состоящая из групп нулей и единиц. Посчитать количество нулей и единиц |
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 16.04.2013, 12:02 | |
|
А в чём проблема? Любой из указанных символов можно записать с помощью его кода.
Например '\r' это то же самое, что '\x0d' 'PNG' можно записать как '\x50\x4e\x47' Не важно как представлен символ, функция ord() всё равно вернёт его числовой код.
0
|
|
|
2 / 2 / 2
Регистрация: 16.04.2013
Сообщений: 15
|
|
| 16.04.2013, 12:09 [ТС] | |
|
Тогда такое уточнение:
Чтобы получить код каждого символа, мне нужно "\x25" передать одной функции, а "PNG" - другой, как это сделать с наименьшими потерями? Нужно же распарсить всю эту строку и то, что попадает под шаблон "\x**" - в одну сторону, что нет - в другую?
0
|
|
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||||||
| 16.04.2013, 12:30 | ||||||
|
Нет. Все четыре указанных символа хранятся в памяти в виде числовых кодов. Это отображение на экране у них разное.
0b100101 0b1010000 0b1001110 0b1000111
1
|
||||||
|
2 / 2 / 2
Регистрация: 16.04.2013
Сообщений: 15
|
|
| 16.04.2013, 12:37 [ТС] | |
|
Спасибо большое, буду пробовать
0
|
|
|
2 / 2 / 2
Регистрация: 16.04.2013
Сообщений: 15
|
||||||
| 23.04.2013, 01:24 [ТС] | ||||||
|
Столкнулся с новой проблемой:
формирую нужную мне для записи строку, записываю в бинарном режиме в файл, вижу, что записывается 1276 байт(столько, сколько и должно), но размер файла на выходе = 1902 байта, соответственно, он не открывается так, как должен.
Добавлено через 21 час 44 минуты Ребят, неужели никто ничем не может помочь?
0
|
||||||
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||||||
| 23.04.2013, 01:41 | ||||||
|
Так вроде ничего удивительного:
0
|
||||||
|
2 / 2 / 2
Регистрация: 16.04.2013
Сообщений: 15
|
|
| 23.04.2013, 03:02 [ТС] | |
|
Это понятно.
Собственно, глобальный вопрос в том, как считать файл(не текстовый), а потом, грубо говоря, записать его в первозданном виде, чтобы, если это png - он открывался как png, если mp3 - как mp3 и т.д. Считывание работает идеально, все преобразования, нужные мне, так же работают, как в одну, так и в другую сторону. Но вот с тем, чтобы записать файл в том же исходном виде назад - проблема. Пробовал тот метод, который привел выше - он работает не так, как надо, откуда-то берутся лигние байты. Кто-нибудь может подсказать работающий метод? Или объяснить, что не так в этом?
0
|
|
|
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
|
||||||||||||
| 23.04.2013, 04:45 | ||||||||||||
1
|
||||||||||||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||||
| 23.04.2013, 05:41 | ||||||||
0
|
||||||||
|
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
|
|||||||
| 23.04.2013, 10:34 | |||||||
![]()
0
|
|||||||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||
| 23.04.2013, 14:36 | |||||||
0
|
|||||||
|
2 / 2 / 2
Регистрация: 16.04.2013
Сообщений: 15
|
|
| 24.04.2013, 02:25 [ТС] | |
|
0
|
|
| 24.04.2013, 02:25 | |
|
Помогаю со студенческими работами здесь
13
Дана строка, состоящая из групп нулей и единиц. Посчитать количество нулей и единиц
Считывание из бинарного файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|