Komprese dat - vice bloku v souboru

Jan Kasprzak kas na fi.muni.cz
Čtvrtek Srpen 13 16:25:18 CEST 2009


Honza Pazdziora wrote:
: On Wed, Aug 12, 2009 at 08:44:58PM +0200, Jan Kasprzak wrote:
: > 
: > potreboval bych v Perlu mit nejaky kompresni modul, kterym bych mohl
: > do jednoho velkeho souboru za sebe ukladat komprimovane podoby
: > malych textovych souboru, ale tak, aby mi stacilo pamatovat si pro kazdy
: > maly soubor jen offset, kde ve velkem souboru zacina jeho komprimovana
: > podoba, tam udelat seek, a dekomprimovat/precist prislusny maly soubor
: > az do konce.
: > 
: > 	Pokud jsem dobre pochopil, tak zlib/gzip i bzip2 umi do vystupniho
: > souboru poznacit kde konci data, a naopak pri cteni rict "skoncil
: > komprimovany stream ale ne nutne soubor". Bohuzel ani Compress::Zlib,
: > ani Compress::Bzip2 nemaji tuto funkcionalitu pristupnou, a jejich cteci
: > metody vrati konec souboru az po precteni vsech bloku do konce skutecneho
: > souboru.
: 
: Nepomohlo by neco jako ConsumeInput z Compress::Raw::Zlib?

	Jo, to je ono (hmm, ke ctvrte strance vyhledavani "Compresss"
na CPANu jsem se predtim neproklikal :-).

	Resp. asi pouziju Compress::Raw::Bzip2.
Ono uplne nejlepsi by bylo kdyby to slo pouzit jako I/O layer.
Ze bych rekl neco jako

	print $ofh "Nekomprimovana data";
	binmode $ofh, ':bzip2';
	print $ofh "Data co se zakomprimuji";
	binmode $ofh, ':bytes';
	print $ofh "Dalsi nekomprimovana data";

a bylo by. Ale to zatim nevim jestli to jde.

	Diky!

-Y.

-- 
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/    Journal: http://www.fi.muni.cz/~kas/blog/ |
Please don't top post and in particular don't attach entire digests to your
mail or we'll all soon be using bittorrent to read the list.     --Alan Cox


Další informace o konferenci Perl