Abra um arquivo ZIP e encontre as iniciais escondidas de Phil Katz

Os dois primeiros bytes de muitos arquivos ZIP formam “PK”, iniciais de Phil Katz, programador responsável pelo PKZIP e pela criação do formato. A marca aparece desde 1989, sobreviveu à troca de extensões e hoje está escondida também em documentos do Word, livros digitais e arquivos Java.

O que significa “PK” dentro de um arquivo ZIP?

“PK” identifica estruturas internas do formato ZIP e homenageia Phil Katz, criador do PKZIP e um dos responsáveis por sua concepção. Em um editor hexadecimal, um arquivo comum costuma começar com 50 4B 03 04. Os valores 50 e 4B correspondem às letras P e K na tabela ASCII; os dois bytes seguintes identificam um cabeçalho de arquivo local.

Esse cabeçalho funciona como a placa de entrada de cada item compactado: descreve o que vem depois, incluindo informações necessárias para localizar e extrair os dados. O sistema não depende do nome amigável exibido pelo explorador de arquivos. A extensão diz ao usuário o que esperar; a assinatura hexadecimal revela o que o arquivo é por baixo da pintura.

Por que o ZIP tem várias assinaturas começando com “PK”?

O ZIP usa várias assinaturas “PK” porque o arquivo reúne registros diferentes para descrever conteúdo, diretórios e encerramento do pacote. O cabeçalho local começa com 50 4B 03 04; uma entrada do diretório central começa com 50 4B 01 02; e o registro de fim começa com 50 4B 05 06.

A documentação técnica da PKWARE, na APPNOTE, registra esse padrão de dois bytes e usa os valores seguintes para distinguir cada estrutura. O diretório central funciona como um índice do arquivo inteiro, enquanto o registro final informa onde essa organização termina. Até um ZIP vazio precisa desse registro final. Portanto, as letras podem não aparecer no começo, mas continuam escondidas em algum ponto do arquivo.

Todo arquivo ZIP começa com os bytes “PK”?

Não, porque arquivos autoextraíveis e outros formatos derivados podem colocar dados executáveis antes das estruturas ZIP, embora mantenham o registro final exigido. Isso é uma diferença pequena, mas importante, entre reconhecer um formato e decorar uma receita.

Em um arquivo ZIP convencional, 50 4B 03 04 aparece logo no início, o que torna a identificação imediata. Já um executável autoextraível combina um programa com os dados compactados e pode posicionar o conteúdo ZIP mais adiante. O formato, nesse caso, é encontrado pela estrutura interna, não necessariamente pelo primeiro byte. Um editor hexadecimal transforma a investigação em algo quase doméstico: crie um ZIP pequeno, abra-o e procure as letras que estavam ali antes de você saber procurá-las.

Como uma disputa judicial levou Phil Katz a criar o ZIP?

O ZIP nasceu depois que uma disputa sobre compatibilidade com o formato ARC empurrou Katz para uma solução própria, lançada publicamente em 1989. Antes do PKZIP, ele havia criado o PKARC, um compactador compatível com ARC e popular no ecossistema das BBS por sua velocidade.

O ARC pertencia à System Enhancement Associates, conhecida como SEA. A empresa processou Katz e a PKWARE, e o conflito terminou em um acordo em agosto de 1988. Pela resolução, os programas compatíveis com ARC poderiam ser distribuídos sob licença somente até 31 de janeiro de 1989; depois disso, a PKWARE não poderia publicar ou distribuir esse tipo de software. Katz então desenvolveu o ZIP com Gary Conway, da Infinity Design Concepts. A história tem uma ironia bastante funcional: uma briga de compatibilidade ajudou a produzir o formato que se tornaria sinônimo de compatibilidade.

Por que o ZIP se espalhou tão rapidamente?

O ZIP se espalhou porque combinou compatibilidade aberta, velocidade e uma necessidade concreta: transferir arquivos menores por conexões discadas. A documentação inicial dedicou o formato ZIP e a extensão .ZIP ao domínio público, permitindo que outros desenvolvedores criassem programas compatíveis sem depender exclusivamente do PKZIP.

Isso importava especialmente para operadores de BBS e usuários de computadores pessoais, que já conheciam as ferramentas de Katz e precisavam economizar tempo e espaço durante a distribuição de arquivos. A abertura técnica fez o formato viajar para além do programa que o originou. A extensão virou costume, mas a estrutura interna virou infraestrutura. São trajetórias diferentes: uma pertence ao hábito do usuário; a outra, aos desenvolvedores que continuam implementando o padrão.

O ZIP original já usava o algoritmo DEFLATE?

Não: o ZIP de 1989 não incluía originalmente o DEFLATE, que foi introduzido posteriormente na APPNOTE 2.0, em 1993, segundo a cronologia da Library of Congress.

Essa distinção evita uma simplificação comum. ZIP é um contêiner capaz de acomodar diferentes métodos de compressão, e não o nome de um único algoritmo. Phil Katz também projetou o DEFLATE, especificado no RFC 1951, mas ele entrou depois na história do formato. Arquivamento e compressão são parentes próximos, não sinônimos perfeitos: o contêiner organiza arquivos, diretórios e metadados; o método de compressão reduz os dados conforme regras próprias. O pacote que você abre com um duplo clique é a soma dessas camadas.

Quais formatos usam ZIP sem ter a extensão “.zip”?

Documentos DOCX, XLSX e PPTX, livros EPUB e arquivos JAR usam empacotamento baseado em ZIP, mesmo quando o usuário não os chama de arquivos compactados. Por isso, as iniciais de Katz aparecem em muito mais lugares do que a extensão sugere.

Os formatos Office Open XML guardam arquivos XML e diretórios dentro de um contêiner ZIP. A especificação EPUB 3.3 exige um contêiner ZIP com restrições próprias, enquanto a documentação da Oracle descreve JAR como baseado em ZIP. A função mudou, o público mudou e o antigo utilitário para DOS ficou distante, mas os registros fundamentais permaneceram reconhecíveis. Um documento novo pode carregar a mesma assinatura concebida em 1989. Para duas letras em hexadecimal, é uma carreira longa demais para ser chamada apenas de detalhe.

spot_img