Converter XZ para BZ2

Aqui você converte XZ para BZ2 de graça e sem conta: solte o arquivo acima e em poucos segundos o resultado está pronto para baixar. O arquivo viaja criptografado até o nosso servidor, é convertido lá e é apagado assim que o trabalho termina.

  • Onde roda No nosso servidor, porque um navegador não roda o programa que isto exige.
  • Sem perdas Nada é descartado. O BZ2 guarda exatamente o que o XZ guardava.
  • Limite de tamanho Até 25 MB por arquivo, de graça e sem conta.
  • Vale saber Os arquivos saem byte a byte iguais. O que não sobrevive é o que o contêiner sabia *sobre* eles e não o que havia *dentro* deles: uma senha e, em alguns formatos, as permissões e as datas originais.

Até 100 arquivos de uma vez. Formatos misturados não são problema.

A máquina que não abre o XZ que te enviaram

Esta conversão tem uma justificativa honesta, e vale colocar em primeiro lugar porque qualquer comparação geral entre os dois formatos manda fazer o oposto. Descompactar um XZ aloca um buffer do tamanho do dicionário, que pode chegar a 64 MB. Num notebook isso é invisível. Num roteador, dentro de um contêiner com limite de 32 MB de memória, ou numa máquina Unix comercial antiga com limite conservador por processo, é a diferença entre o pacote abrir ou o extrator ser encerrado.

A segunda versão do mesmo problema é o xz simplesmente não estar instalado. Ele surgiu em 2009, recente o bastante para que vários sistemas de longa vida — equipamentos, controladores industriais — tenham só bzip2 e gzip. Converter o pacote é a mudança que você tem permissão de fazer.

Duas formas de encontrar redundância, e o que cada uma precisa guardar

XZ, de 2009, é LZMA2: um compressor de janela deslizante com dicionário de até 64 MB. Comprimindo o byte cem milhões, ele ainda consegue ver o byte trinta e seis milhões, motivo de notar que um arquivo no fim de um pacote se parece com um no início. Para descomprimir, o leitor precisa manter essa mesma janela disponível.

BZ2, de 1996, não desliza nada. Corta a entrada em blocos de até 900 KB, ordena cada um com uma transformação Burrows-Wheeler e codifica o resultado. Um bloco é autocontido, então o descompressor guarda um bloco por vez e nada mais — a mesma decisão que faz o bzip2 perder em taxa de compressão é a que o torna barato de desempacotar.

Espere o pacote crescer, e confira o quanto

A penalidade de tamanho é real e sua escala depende inteiramente do conteúdo. Numa árvore de código-fonte, num corpus de documentos, em logs, o XZ vai ter encontrado bem mais do que o bzip2 consegue, e o BZ2 vai ficar visivelmente maior. É o preço da economia de memória.

Em outros pacotes a penalidade arredonda para quase nada. Se o XZ guarda fotografia, vídeo, áudio ou um dump de banco já comprimido, o compressor forte nunca tinha o que trabalhar; os dois formatos ficam essencialmente só embrulhando o dado. Olhe os dois números antes de se comprometer com qualquer coisa adiante.

Tempo de compressão cai enquanto tempo de descompressão sobe

É fácil presumir que o formato mais fraco é mais rápido em tudo, e não é o que acontece. XZ é lento para comprimir, porque buscar num dicionário de 64 MB é caro, e comparativamente rápido para descomprimir. Bzip2 é o contrário de um jeito que importa: desfazer uma transformação Burrows-Wheeler é computação de verdade, então bzip2 desempacota devagar.

Vale planejar em torno disso, porque isso parcialmente desfaz o motivo da conversão. Um aparelho restrito agora precisa de menos memória e mais tempo, e se ele também tiver um processador lento — o que aparelhos pequenos costumam ter —, a extração pode levar bem mais tempo do que o XZ levaria.

O TAR por baixo, e o nome que nenhum dos dois formatos guarda

Os dois são compressores de um único fluxo e nenhum sabe o que é um arquivo. É por isso que os dois costumam ser encontrados com um TAR dentro. Esta conversão desempacota o tarball de dentro do XZ e escreve um novo antes de comprimir com bzip2.

Nenhum dos dois formatos registra um nome de arquivo original — gzip registra, esses dois não — então a extensão que você coloca no download é o único rótulo que o arquivo vai carregar. Chame de .tar.bz2.

O que um aparelho pequeno ganha com blocos independentes

Memória limitada é o destaque, e há uma consequência secundária que serve o mesmo leitor. Como os blocos do bzip2 são comprimidos independentemente, um arquivo danificado não perde necessariamente tudo depois do dano — ferramentas de recuperação conseguem achar os limites de bloco intactos e salvar o que sobreviveu.

Isso combina com os ambientes para os quais esta página foi escrita, onde armazenamento costuma ser flash barato, energia é cortada sem aviso, e raramente há uma segunda cópia por perto. Não é estratégia de backup e não deveria ser vendida como uma.

Considere GZ antes de se decidir por BZ2

Se o motivo de sair do XZ é memória ou um binário ausente, gzip resolve os dois pelo menos tão bem e custa menos tempo. Precisa de uma janela de 32 KB — praticamente nada —, está presente em quase todo sistema que tem algum compressor, e descomprime bem mais rápido que bzip2 nos processadores lentos que esses aparelhos costumam ter.

Então o caso para bzip2 especificamente é estreito: a diferença de tamanho entre gzip e bzip2 genuinamente importa para sua transferência, e o tempo extra de descompressão é aceitável. Se não importa, gzip é o alvo melhor.

Onde o arquivo xz é descomprimido a caminho do bzip2

No nosso servidor, não no seu navegador. A maioria das ferramentas aqui roda no seu próprio aparelho e diz isso claramente; reempacotamento de arquivo compactado é uma das exceções, porque precisa do 7-Zip e do bzip2 como programas de verdade. O arquivo vai por conexão criptografada até um contêiner que os executa, e esse contêiner não tem acesso próprio à internet.

Cada tarefa recebe um diretório de trabalho num sistema de arquivos em memória, apagado assim que a tarefa termina, e qualquer tarefa ainda rodando depois de sessenta segundos é encerrada. O limite gratuito aceita 25 MB por arquivo enviado.

Testando o resultado na máquina que não lia o XZ

A única verificação que vale algo aqui é feita no destino. Copie o BZ2 para o aparelho ou contêiner que falhou no arquivo xz e extraia lá — não na sua própria estação, onde os dois formatos teriam funcionado.

Depois compare a listagem contra o original: tar tJf no XZ e tar tjf no BZ2 deveriam mostrar a mesma contagem e os mesmos caminhos. Este é um reempacotamento sem perdas, então uma diferença nunca é um arquivo danificado — é sempre estrutural.

Como converter XZ para BZ2

  1. Solte o seu arquivo XZ nesta página, ou clique para escolher um.
  2. Escolha BZ2 como destino e comece a conversão.
  3. Baixe o arquivo BZ2 pronto.

XZ ou BZ2: o que muda

XZ comparado com BZ2
XZBZ2
Nome completoArquivo XZArquivo Bzip2
Extensão do arquivo.xz.bz2
Tipo de mídiaapplication/x-xzapplication/x-bzip2
CompressãoSem perdas — nada é descartadoSem perdas — nada é descartado
Publicado pela primeira vez20091996
LicençaPadrão abertoPadrão aberto
Situação hojeAtualAntigo, ainda lido em todo lugar
Abre no navegadorNenhum navegadorNenhum navegador
Considerado no lugarGZ, 7ZGZ

O que se mantém

Nada é descartado. XZ e BZ2 guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.

Abrir o resultado

7-Zip e Keka leem tanto XZ quanto BZ2, então dá para comparar o resultado com o original sem um segundo programa.

Tamanho e qualidade

BZ2 trabalha com 900 KB de cada vez, contra 8 MB de XZ: é dentro desse intervalo que uma repetição precisa caber para poder ser comprimida. É daí que vem a diferença de compressão e por isso ele é o mais rápido dos dois.

Para que serve cada formato

BZ2 e de 1996. bzip2, 7-Zip e Keka leem o formato.

De XZ para BZ2: perguntas frequentes

Meu arquivo XZ é enviado para algum lugar?

É: esta conversão precisa de um software que não roda num navegador. O arquivo viaja criptografado até o nosso servidor, é apagado assim que o trabalho termina e o resultado, depois de 60 minutos. O trabalho é feito por 7-Zip, o compactador, na sua forma de linha de comando.

Converter XZ para BZ2 é grátis?

É, até 100 conversões por dia para arquivos de até 25 MB. Esse único limite existe porque esta conversão roda num servidor que nós pagamos. No resto aqui não há nada limitado, e marca d’água não existe em caso nenhum. O limite existe porque 7-Zip precisa de uma máquina nossa para rodar.

Perde qualidade ao converter XZ para BZ2?

Não. BZ2 guarda o mesmo conteúdo sem jogar nada fora: o resultado é idêntico em qualidade ao original. Os arquivos saem byte a byte iguais. O que não sobrevive é o que o contêiner sabia *sobre* eles e não o que havia *dentro* deles: uma senha e, em alguns formatos, as permissões e as datas originais.

A conversão de XZ para BZ2 é sem perda?

Nada é descartado. XZ e BZ2 guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.

Mais sobre esses formatos