|
|
|
Побитовое чтение файла?
|
|||
|---|---|---|---|
|
#18+
Ситуация такая-имеется заготовка двоичного кодера, которая принимает массив булевых значений. Длина массива равна длине блока- код блоковый, причем длина блока может варьироваться). На выходе этой функции опять же массив булевых значений, правда другой длины(постоянной на протяжении кодирования и зависящая только от настроек кодера). К примеру кодер принимает последовательности 11 бит, а на выходе 15. Возник такой вопрос-как лучше всего реализовать кодирование файлов? С помошью потоков? К тому же файлы побитово не читаются, думаю читать посимвольно, чтобы количество бит в считываемых символах было больше или равно длине входящего блока, остаток записывать в буфер, длину которого тоже учитывать при считывании последующей порции. На выходе видимо прийдется тоже иметь буфер для недополненных байт и ждать пока не прийдет новая порция. Может быть у кого-нибудь есть соображения на этот счет или была схожая задача? P.S. насколько целесообразно иметь функцию которая передает и принимает булевый массив, может есть более правильные решения? Реализация на Дельфи Заранее спасибо за ответы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 22:34 |
|
||
|
Побитовое чтение файла?
|
|||
|---|---|---|---|
|
#18+
Проблемы с интернетом, прошу удалить одну из тем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 23:02 |
|
||
|
Побитовое чтение файла?
|
|||
|---|---|---|---|
|
#18+
Еще один вопрос-файл читать побайтово(или пожалуй лучше блоками, потом обрабатывать по целому блоку?), есть ли какая-нибудь стандартная функция реализующая преобразование числа в его двоичную реализацию, или надо реализовать самому? Сильно интересует целесообразность применения типа boolean как двоичного. Просто хочется при необходимости переделать все сейчас, чем потом, когда это займет больше времени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 14:24 |
|
||
|
Побитовое чтение файла?
|
|||
|---|---|---|---|
|
#18+
Сильно советую обрабатывать по полной разрядности машины, то есть на 32-битной архитектуре - полными двойными словами - Integer в общем :) Файл само собой надо считать сначало полностью, чтобы не тормозить вводом/выводом (я думаю он у вас разумных размеров). Надо конечно разобраться с кодером - может быть его как-то оптимизировать, чтобы он обрабатывал более выровненные записи. ________________________________________________________ Глюк - это высокоорганизованная система не поддающихся определению частиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 14:33 |
|
||
|
Побитовое чтение файла?
|
|||
|---|---|---|---|
|
#18+
С кодером разобраться не получится-такова уже его архитектура(кодер Рида-Маллера для произвольных параметров m и r. Долго старался его сделать универсальным, проблема заключалась в декодировании-не смог найти четкий алгоритм для произвольного кода, пришлось придумывать самому). Кодер планируется сделать общим, а не для каких-то определенных файлов, поэтому не могу сказать что файл обязательно будет приличных размеров. Именно поэтому и думаю считывать его блоками по несколько килобайт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 15:10 |
|
||
|
Побитовое чтение файла?
|
|||
|---|---|---|---|
|
#18+
Так может мне кто-нибудь посоветовать как поступить в данном случае? А то имеются мысли насчет реализации, но есть сомнения в том что это наиболее правильный путь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 23:19 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34735890&tid=1345892]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 482ms |

| 0 / 0 |
