Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

Алгоритм сжатия TStream   Найти похожие ветки 

 
Семен Сорокин ©   (2004-03-04 12:27) [0]

В памяти имеется массив TMemoryStream"ов, в которых я храню представлние отформатированного текста в RichEdit. Мне необходимо сохранять и подгружать тескст с форматированием в image (BLOB) полях БД (MSSQL-2000). С этим проблем нет, формирую Stream - сохраняю и подгружаю. Проблема в том, что при сохранении нескольких записей по 30 таких полей размер базы очень быстро растет.
Как вариант можно перед сохранением в базу данных сохранять поток (TStream) в файл, архивировать его (сжимается до 80-90%), затем считывать и сохранять в базе уже в заархивированном виде. При чтении - тогда в обратной последовательности.
Хочется избежать лишних операци по сохранению файла на диск и архивации файла, а именно архивировать (сжимать) непосредственно TMemoryStream.
Подскажите, если кто сталкивался с такой проблемой, какие алгоритмы можно использовать? Может есть ссылки?
С уважением.


 
Hooch ©   (2004-03-04 12:31) [1]

ZipForge


 
Jel ©   (2004-03-04 12:32) [2]

Посмотри ZLib
там есть CompressStream


 
MBo ©   (2004-03-04 12:36) [3]

поскольку сжимать надо текст, то ни RLE, ни Хаффман/арифметическое сжатие не подойдут, нужно что-то из LZ-семейства. Навскидку нашел что-то подобное в XTRL
http://msol.io.com/ikysil/index-ru.html

Наверняка и на torry.net что-нибудь найдется


 
Семен Сорокин ©   (2004-03-04 12:38) [4]

Спасибо, буду смотеть.



Страницы: 1 вся ветка

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
14-1077781096
MPS
2004-02-26 10:38
2004.03.28
Сбойные блоки на харде - что делать???


14-1078222247
Goida
2004-03-02 13:10
2004.03.28
А что такое ИМХО???


1-1078835234
vin
2004-03-09 15:27
2004.03.28
Перенаправление вывода не в файл, а в поток в память


8-1069441364
Eagle Owl
2003-11-21 22:02
2004.03.28
Direct3DRM


14-1074855258
TALLA
2004-01-23 13:54
2004.03.28
Связывание обработчика и события TcpClient.OnReceive в DLL.