O que é compactação de código?
O código do computador pode ser considerado o DNA do mundo digital - as linhas brutas de dados que compõem todos os programas, arquivos gráficos e música digital. Quanto maior e mais complexo o arquivo ou aplicativo, mais código ele contém. Dadas as limitações finitas dos discos rígidos e outros tipos de armazenamento de dados, a compactação de código é frequentemente utilizada para reduzir temporariamente o tamanho dos arquivos. Ele funciona usando algoritmos especiais para fazer com que um pedaço menor de código represente um pedaço maior. Os dados podem ser compactados e descompactados dessa maneira, desde que um programa de compactação conheça o algoritmo correto para desbloqueá-lo.
A maioria das pessoas que sabem usar um computador tem pelo menos uma familiaridade passageira com a maneira como os dados são armazenados, em termos de kilobytes, megabytes, gigabytes e assim por diante. O que eles podem não entender é a relação entre essas unidades de medida e as palavras, gráficos, músicas e programas reais que eles manipulam na tela. Um único byte representa um único caractere de texto e é constituído por oito unidades menores, conhecidas como bits. Os bits são os componentes brutos da informação digital e a maneira como eles são organizados cria diferentes letras do alfabeto, números ou outros tipos de caracteres.
Um programa de compactação de código pega os bits e bytes que compõem um determinado arquivo e os codifica para que um ou dois caracteres da versão compactada representem um número maior do original. Os dois principais tipos de compactação de código são conhecidos como com e sem perdas . A compactação com perdas pode ser usada nos casos em que alguma perda de dados é aceitável, como arquivos de música nos quais algumas frequências são desnecessárias. Basicamente, um algoritmo com perdas conta o número de vezes que uma determinada seção de dados é reutilizada em um arquivo e gera um pequeno pedaço de código que corresponde a esse número. Geralmente, é possível obter uma compactação de tamanho maior usando esse método, e o formato MP3 é um exemplo desse tipo de arquivo compactado.
A diferença funcional básica entre a compactação com e sem perdas é que, com a compactação com perdas, os dados que não podem ser compactados são descartados, enquanto a compactação sem perdas os mantém descompactados. Isso leva a tamanhos maiores de arquivos compactados, mas a uma retenção da qualidade do arquivo original. Documentos de texto e outros arquivos semelhantes, nos quais as informações não podem ser perdidas, devem ser compactados dessa maneira.
De um modo geral, um arquivo compactado não pode ser usado ou manipulado, a menos que seja primeiro descompactado. A compactação é um estado temporário, portanto, usado principalmente para fins de armazenamento ou transmissão. No entanto, isso não se estende aos arquivos de música e vídeo compactados, para os quais existem programas que podem decodificar rapidamente, durante a reprodução.