Compressão de dados

Uma das coisas fundamentais hoje no desenvolvimento de software é comprimir os dados, para que uma aplicação não seja tão grande e possa ocupar um espaço razoável no disco. Um dos locais em que se torna fundamental comprimir dados é em aplicações multimídia, pois elas envolvem dados que sem compressão facilmente atingiriam mega, giga ou mesmo terabytes.

tipos de compressão

Temos a compressão com perdas e a sem perdas. Na compressão com perdas o arquivo é comprimido, mas ao ser descomprimido pode haver alterações em relação ao original (perdas). Já na compressão sem perdas, a descompressão ocorre com a recuperação total do arquivo original.
Um uso da compressão com perdas é em imagens, visto que neste caso diferenças muito pequenas nas intensidades dos pixels são muito difíceis de serem percebidas por nós, e por isso, podem ser ignoradas na prática em diversos casos.
O uso prioritário de compressão sem perdas é em arquivos onde o conteúdo é importante, e a princípio não é possível saber a priori onde as perdas irão ocorrer, e, por extensão, o que elas vão afetar. Um exemplo de compressão nesse caso é o de arquivos de texto.

Zlib

A biblioteca ZLib comprime e descomprime arquivos em formatos Zlib e Gzip.

Descomprimindo arquivos Zip

Há bibliotecas nas mais diversas linguagens para comprimir e descomprimir arquivos Zip.

C -> Minizip, Libzip e LibArchive
Java -> Já vem com o framework
.Net -> Já vem com o framework (4.5+)

Links

xxx

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.