
A capacidade de compactar nossos arquivos para facilitar o compartilhamento e / ou o transporte deles pode A vida electrónica é muito mais fácil, mas por vezes podemos ver resultados de tamanhos estranhos ou inesperados depois de os compactarmos. Por que é que? A postagem de perguntas e respostas do SuperUser de hoje tem as respostas para as perguntas de um leitor confuso.
A sessão de perguntas e respostas de hoje nos é oferecida por SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas.
Foto cedida por Jean-Etienne Minh-Duy Poirrier (Flickr).
SuperUser reader sixtyfootersdude quer saber porque o zip é capaz de compactar arquivos individuais melhor do que vários arquivos com o mesmo tipo de conteúdo:
Suponha que eu tem 10.000 arquivos XML e deseja enviá-los para um amigo. Antes de enviá-los, gostaria de compactá-los.
Método 1: Não compactá-los
Resultados:
Método 2: Compactar cada arquivo separadamente e enviá-lo 10.000 arquivos XML compactados
Comando:
Resultados:
Método 3: Criar um único arquivo Zip contendo todos os 10.000 arquivos XML
Comando:
Resultados:
Método 4: Concatenar os arquivos em um único arquivo e Zip It
Comando:
Resultados:
Perguntas
- Por que obtenho resultados tão melhores quando estou apenas fechando um único arquivo?
- Esperava obter resultados drasticamente melhores usando o método 3 em vez do método 2, mas não. Por que isso é
- Este comportamento é específico para zip? Se eu tentasse usar o Gzip, obteria resultados diferentes?
Informações Adicionais
Meta Data
Uma das respostas dadas sugere que a diferença são os metadados do sistema armazenados no arquivo zip. Eu não acredito que isso possa ser o caso. Para testá-lo, fiz o seguinte:
O arquivo zip resultante é de 1,4 MB. Isso significa que ainda há aproximadamente dez MB de espaço inexplicado.
Por que o zip é capaz de compactar arquivos individuais melhor do que vários arquivos com o mesmo tipo de conteúdo?
têm a resposta para nós. Primeiro, Alan Shutko:
A compactação Zip é baseada em padrões repetitivos nos dados a serem compactados, e a compactação fica melhor quanto mais tempo o arquivo estiver, pois mais e mais padrões podem ser encontrados e usados.
Simplificado, se você compactar um arquivo, o dicionário que mapeia códigos (curtos) para padrões (mais longos) é necessariamente contido em cada arquivo zip resultante; se você zipar um arquivo longo, o dicionário é reutilizado e se torna ainda mais eficaz em todo o conteúdo.
Se seus arquivos são um pouco parecidos (como o texto sempre é), a reutilização do 'dicionário' se torna muito eficiente. o resultado é um arquivo zip total muito menor.
Seguido pela resposta de Aganju:
Em zip, cada arquivo é compactado separadamente. O oposto é compactação sólida , ou seja, os arquivos são compactados juntos. 7-zip e Rar usam compactação sólida por padrão. Gzip e Bzip2 não podem comprimir múltiplos arquivos, então o Tar é usado primeiro, tendo o mesmo efeito da compressão sólida
Como os arquivos xml têm estrutura similar (e provavelmente conteúdo similar), se os arquivos forem compactados juntos a compressão será maior
Por exemplo, se um arquivo contiver a string “
” e o compressor já encontrar essa string em outro arquivo, ele será substituído por um pequeno ponteiro para a correspondência anterior. Se o compressor não usar compactação sólida, a primeira ocorrência da string no arquivo será registrada como um literal , que é maior.
Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.
Como funcionam as compras com Bitcoin?
Ame ou odeie, não há como negar que praticamente todos que você conhece vão ter uma ou outra opinião sobre o tema Bitcoin. A moeda digital, descentralizada e criptografada que existe apenas na Internet e não cede a nenhuma nação, o Bitcoin foi previsto como um dos pilares que revoluciona completamente o funcionamento da economia mundial, ou pode simplesmente perder os Winklevoss Twins por muito do seu precioso dinheiro.
O Guia Definitivo para Instalar Aplicativos Android Incompatíveis do Google Play
Os desenvolvedores do Android podem restringir seus aplicativos a determinados dispositivos, países e versões mínimas do Android. No entanto, existem maneiras de contornar essas restrições, permitindo que você instale aplicativos marcados como "não compatíveis com seu dispositivo". Observe que esses truques não são suportados pelo Google.