Se você gasta algum tempo baixando software ou compartilhando documentos grandes, provavelmente encontrou um arquivo .zip. É uma daquelas conveniências digitais que funciona tão bem que raramente paramos para questioná-la. A premissa básica é simples: pegue um arquivo volumoso, reduza seu espaço ocupado e mova-o pela web com mais rapidez. Ou apenas faça com que ocupe menos espaço no disco rígido.
Mas há aqui um ligeiro paradoxo. Como você remove os dados e, em seguida, recupera tudo magicamente mais tarde, sem perder um único bit?
Não é mágica. É gerenciamento de redundância. Depois de cobrirmos os conceitos básicos de como compactar um arquivo, nos aprofundaremos na mecânica do que realmente está acontecendo dentro desse arquivo.
Compactando um arquivo: o guia de início rápido
Basicamente, a compactação usa algoritmos para reduzir o tamanho do arquivo. Isso economiza espaço em disco. Também acelera a transmissão em conexões mais lentas. A criação de um arquivo zip está integrada na maioria dos sistemas operacionais modernos. Você não precisa de ferramentas especiais para tarefas básicas.
Aqui está o processo simples.
1. Selecione os arquivos de destino
Comece identificando o que você deseja reduzir. A compactação produz os melhores resultados com arquivos maiores. Arquivos de vídeo e imagens brutas são os principais candidatos porque consomem largura de banda e armazenamento significativos. Arquivos de texto pequenos geralmente são mal compactados porque não possuem os padrões repetitivos necessários para uma redução eficiente.
2. Use ferramentas integradas
Você provavelmente já possui o software necessário.
No Windows, o processo é extremamente simples. Clique com o botão direito nos arquivos selecionados. Navegue até o menu ‘Enviar para’. Escolha ‘Pasta compactada (zipada)’. O Windows cuida do resto.
Os usuários de Mac têm um atalho semelhante. Clique com a tecla Control pressionada nos arquivos. Selecione ‘Comprimir’. O sistema gera um arquivo zip automaticamente.
Se o seu sistema operacional não tiver esse recurso ou você precisar de opções avançadas, precisará de software de terceiros. Ferramentas como 7-Zip ou WinRAR oferecem controle mais granular sobre os níveis de compactação. Mas para o uso diário, as ferramentas integradas são suficientes.
3. Gere o arquivo
Depois de acionar o comando, o software começa seu trabalho. Ele verifica os arquivos. Aplica o algoritmo escolhido. Ele cria um novo arquivo zip no mesmo diretório dos originais.
A velocidade desse processo depende de dois fatores: tamanho do arquivo e capacidade da CPU. Alguns vídeos grandes podem levar segundos. Uma pasta cheia de pequenos arquivos de texto pode demorar mais devido à sobrecarga, embora o ganho de tamanho final possa ser insignificante.
4. Lide com o resultado
Agora você tem um único contêiner. Você pode renomeá-lo. Você pode movê-lo para uma unidade USB. Você pode enviá-lo por e-mail. O destinatário precisa extrair o conteúdo para usá-lo. Isso inverte o processo.
Tenha em mente as compensações. Para documentos, código e texto, a compactação é quase sem perdas. Você recebe exatamente o que investiu. Para imagens e vídeos, a história é diferente. Alguns métodos de compactação degradam a qualidade para atingir tamanhos menores. Isso é conhecido como compactação com perdas. A compactação de texto normalmente não tem perdas.
Como a compactação de arquivos realmente funciona
Arquivos de computador são notoriamente repetitivos. Eles contêm as mesmas informações encadeadas repetidas vezes. O software de compactação prospera com essa redundância.
Em vez de escrever “o” trezentas vezes, um algoritmo de compressão escreve “o” uma vez. Em seguida, ele cria um ponteiro de referência. Cada vez subsequente que ele vê “o”, ele aponta de volta para a primeira instância. Isso reduz drasticamente o número total de bits e bytes.
Para entender isso, vejamos a linguagem.
Consideremos o discurso inaugural de John F. Kennedy em 1961. A famosa frase:
“Não pergunte o que o seu país pode fazer por você – pergunte o que você pode fazer pelo seu país.”
Vamos contar as unidades. A citação tem 17 palavras. Ele contém 61 letras. São 16 vagas. Um traço. Um período. Se atribuirmos uma unidade de memória para cada caractere, espaço ou símbolo, o tamanho total do arquivo será de 79 unidades.
Agora, vamos encontrar as redundâncias. Ignoramos a capitalização por simplicidade.
- “perguntar” aparece duas vezes.
- “o que” aparece duas vezes.
- “seu” aparece duas vezes.
- “país” aparece duas vezes.
- “pode” aparece duas vezes.
- “do” aparece duas vezes.
- “for” aparece duas vezes.
- “você” aparece duas vezes.
Aproximadamente metade da frase é redundante. Nove palavras únicas – pergunte, não, o que, seu, país, pode, fazer, para você – contêm quase todas as informações necessárias. Para reconstruir a segunda metade, o algoritmo apenas aponta para as palavras da primeira metade. Preenche os espaços e a pontuação usando regras simples.
Esta é a essência da compactação sem perdas. Não exclui informações. Remove a repetição.
A seguir, examinaremos mais de perto os algoritmos que procuram esses padrões.
O custo oculto da compactação de dicionário
A maioria das ferramentas de compactação depende de variações do algoritmo de dicionário adaptativo LZ. Tem o nome dos criadores Lempel e Ziv, e a parte do “dicionário” é o mecanismo de catalogação de dados repetidos. O sistema de organização destas entradas não é complexo. Pode ser uma lista numerada simples.
Veja a famosa frase de JFK. O programa de compactação procura palavras repetidas e as atribui a um índice. Em seguida, ele substitui as palavras pelos números atribuídos.
Se o dicionário estiver assim:
- pergunte
- o que
- seu
- país
- pode
- para
- você
A frase “Não pergunte o que o seu país pode fazer por você; pergunte o que você pode fazer pelo seu país” se transforma em um código. Torna-se:
1 não 2 3 4 5 6 7 8 — 1 2 8 5 6 7 3 4
Um computador receptor usa o mesmo dicionário e padrão numérico para reconstruir o texto original. É assim que funciona a expansão. Alguns arquivos compactados contêm um programa de expansão incorporado. Ele reconstrói automaticamente o arquivo original após o download.
Mas quanto espaço isso realmente economiza?
A sequência numérica é menor que a citação completa. Há um problema. Você deve armazenar o próprio dicionário junto com os dados compactados.
Em um cenário real, calcular os requisitos de arquivo é complicado. Para esta divisão, assuma que cada caractere e espaço equivale a uma unidade de memória. A frase completa ocupa 79 unidades. A frase compactada usa 37 unidades. O dicionário também ocupa 37 unidades.
O tamanho total do arquivo é de 74 unidades. A redução é mínima.
Esta é apenas uma frase. Se o algoritmo processasse o resto do discurso, encontraria essas palavras repetidas com muito mais frequência. A eficiência melhora à medida que a repetição aumenta. Como veremos, o sistema também reescreve seu próprio dicionário para otimizar ainda mais a organização.
Além da simples correspondência de palavras
As etapas anteriores dependiam da identificação de palavras completas e repetidas. Tratamos o texto como uma sequência de unidades discretas. Um algoritmo de compressão não se preocupa com palavras. Ele se preocupa com padrões.
O objetivo é simples: reduzir o arquivo.
Para fazer isso, o software procura redundância. Não pergunta “isso é uma palavra?” Ele pergunta “já vi essa sequência antes?” E é implacável. Se um padrão aparecer apenas uma vez, ele será excluído. Se um padrão mais curto aparecer com mais frequência do que um mais longo, o mais longo poderá ser cortado.
Este é o núcleo “adaptativo” dos algoritmos baseados em LZ. O dicionário evolui. Isso muda. Ele otimiza em tempo real.
Como funciona a seleção de padrões
Veja a famosa frase de JFK.
“Não pergunte o que seu país pode fazer por você, não pergunte o que você pode fazer por seu país.”
Um humano vê palavras. Um compressor vê personagens.
A primeira sequência repetida pode ser minúscula. “t” seguido de um espaço. Aparece em “não” e “o quê”. O programa anota isso. Anota. Então segue em frente.
Por que? Porque neste pequeno trecho, “t” não se repete o suficiente para justificar o custo de armazenar seu próprio ID no dicionário. É substituído ou ignorado.
Em seguida, “ou” aparece em “seu” e “país”. Útil? Talvez. Num livro completo, “ou” é uma mina de ouro. Aqui? O algoritmo encontra algo melhor.
“seu” e “país” aparecem juntos como “seu país”. Repetido duas vezes. Este é um sinal mais forte do que “ou”. A entrada do dicionário para “ou” é descartada. “seu país” toma o seu lugar.
Mas espere.
Veja “pode fazer por”. É seguido por “seu” e “você”. A sequência “posso fazer por você” se repete.
Qual é mais eficiente?
“seu país” = 13 caracteres (incluindo espaço).
“podemos fazer por você” = 15 caracteres.
O algoritmo prefere a correspondência mais longa se salvar mais bits por instância. Mas “podemos fazer por você” inclui “você”, enquanto “seu país” inclui “seu”.
Se o programa priorizar a substituição máxima de caracteres, ele poderá quebrar “seu país”. Ele mantém “r country” como sufixo e cria uma entrada primária para “pode fazer por você”. Isso permite que o compressor faça referência à maior parte da frase com um código, enquanto lida com a ligeira variação (“seu” versus “você”) com referências secundárias.
Essa reescrita dinâmica é o que torna o LZ adaptativo. O dicionário não é estático. É um registro vivo do que aconteceu no fluxo de dados.
A taxa de compressão
Usando nossos padrões derivados:
-pergunte__
– o que__
– você
– r__país
– cando__for__you
A frase original se torna uma série de dicas:
1 não__ 2 3 4 5 __ - __ 1 2 3 5 4
O uso da memória muda drasticamente.
Texto original: 79 unidades.
Dados compactados: 18 unidades.
Sobrecarga de dicionário: 41 unidades.
Total: 59 unidades.
Economizamos 20 unidades. Isso é uma redução de aproximadamente 25%. Nada mal para algumas linhas de discurso. E não necessariamente o resultado mais eficiente possível. Você provavelmente encontrará um acordo mais rígido. Mas a questão permanece: encontrar os padrões certos é mais importante do que apenas encontrar quaisquer padrões.
Por que o texto é compactado melhor que os gráficos
Então, por que alguns arquivos diminuem 50% ou mais, enquanto outros quase não se movem?
Redundância.
As línguas naturais são altamente redundantes. As letras agrupam-se de maneiras específicas. “Th”, “ing”, “ção.” As palavras se repetem constantemente. Os arquivos de texto são densos com essas estruturas previsíveis. Os compressores prosperam aqui.
O código de programação é semelhante. Um conjunto limitado de palavras-chave e comandos se repete indefinidamente. se, enquanto, retornar. Os padrões são rígidos. A compressão funciona bem.
Gráficos? Áudio?
Nem tanto.
Uma imagem ou arquivo MP3 contém dados exclusivos. Cada pixel tem um valor específico. Cada amostra de áudio é distinta. Existem poucas sequências repetidas. A entropia é alta. O algoritmo não consegue encontrar padrões sobrepostos suficientes para construir um dicionário útil.
É por isso que a compactação sem perdas falha em arquivos de mídia. Você precisa de técnicas diferentes. Mais sobre isso mais tarde.
Tamanho do arquivo e escolha do algoritmo
A compactação melhora com arquivos maiores?
Geralmente, sim.
Se comprimíssemos todo o discurso de JFK, a poupança seria maior. Por que? Porque os mesmos padrões se repetem com mais frequência. As entradas do dicionário são reutilizadas milhares de vezes. A sobrecarga do dicionário torna-se insignificante em comparação com a economia.
Arquivos pequenos? A sobrecarga do dicionário consome os ganhos.
A escolha do algoritmo também desempenha um papel importante.
Nem todas as variantes LZ são criadas iguais. Alguns estão sintonizados para texto. Alguns para dados. Alguns usam dicionários hierárquicos – dicionários dentro de dicionários – para capturar padrões complexos e aninhados em arquivos grandes. Eles podem engasgar com pequenos insumos.
Os programadores estão constantemente ajustando esses sistemas. O objetivo é sempre o mesmo: melhores relações, velocidades mais rápidas. Mas não existe uma solução universal.
O melhor compressor para o seu texto pode ser o pior para o seu banco de dados.
A compactação que estamos discutindo é compressão sem perdas. É a única maneira de garantir que você recupere o arquivo original. Cada bit permanece intacto. Você divide o arquivo em um pedaço menor para armazenamento ou transferência e depois o remonta exatamente como estava. Nenhum dado é perdido.
Compressão com perdas segue um caminho diferente. Não tenta preservar tudo. Em vez disso, lança fora informações “desnecessárias”. O objetivo é simples: diminuir o tamanho do arquivo. Você verá isso em todos os lugares. É o padrão para imagens bitmap.
Os bitmaps estão inchados. Eles ocupam espaço. Uma fotografia digitalizada é um exemplo perfeito.
Algoritmos sem perdas têm dificuldades aqui. Claro, seções grandes parecem idênticas. O céu está azul. Mas olhe mais de perto. Cada pixel é ligeiramente diferente. Os valores das cores mudam. Para reduzir o arquivo sem perder a resolução, é necessário alterar esses valores.
O programa escolhe um tom de azul. Ele atribui esse valor único a cada pixel do céu. Ele reescreve o arquivo para apontar de volta para essa referência. O resultado? O tamanho do arquivo cai significativamente. Você não notará a diferença.
Mas há um problema. Você nunca poderá recuperar o arquivo original.
Depois de compactá-lo, você fica preso à interpretação da realidade do programa. Os dados originais desapareceram. Você não pode usar compactação com perdas para coisas que exigem reprodução exata. Aplicativos de software? Não. Bancos de dados? Não. Discursos de posse presidencial? Definitivamente não.
“Com a compactação com perdas, você não pode recuperar o arquivo original depois de ele ter sido compactado. Você fica preso à reinterpretação do original pelo programa de compactação.”
Atualizamos este artigo em conjunto com a tecnologia de IA e, em seguida, garantimos que ele fosse verificado e editado por um editor do HowStuffWorks.
Perguntas frequentes sobre compactação de arquivos
O que a compactação de um arquivo faz?
Reduz o tamanho do arquivo. Arquivos menores significam transmissão mais rápida. Você envia e recebe dados mais rapidamente.
Quais são os tipos básicos de esquemas de compactação de arquivos?
Existem dois. Sem perdas e com perdas. Lossless divide o arquivo e o reconstrói mais tarde. Com perdas elimina bits. Reduz o arquivo permanentemente. Você não pode reverter a compactação com perdas.
Qual compactação os arquivos zip usam?
Os arquivos Zip dependem de compressão de dados sem perdas. Eles lidam com vários diretórios. Eles usam algoritmos como DEFLATE. Os dados saem exatamente como entraram.
A compactação de arquivos reduz a qualidade?
Sim. Depois que uma imagem é compactada em um computador ou câmera, a qualidade geralmente é prejudicada. A nitidez cai. O contraste desaparece. Os detalhes finos das cores desaparecem. A imagem parece pior. Essa é a compensação.



























