Pergunta

Meu entendimento do formato de arquivo do pacote Git é algo como:alt text

Onde a tabela tem 32 bits de largura e as três primeiras palavras de 32 bits são o cabeçalho do arquivo do pacote.A última linha de 32 bits são os primeiros 4 bytes de uma entrada.Pelo que entendi, o tamanho da entrada é especificado por bytes consecutivos com o conjunto MSB, seguido por dados compactados.

No primeiro byte cujo MSB não está definido, o MSB faz parte dos dados compactados ou é uma lacuna?Se fizer parte dos dados compactados, como você pode garantir que, quando os dados forem compactados, esse bit não será definido?

Foi útil?

Solução

Minha leitura do documentação do arquivo de pacote indica que o último byte do tamanho (deslocamento 15 no seu exemplo) teria o MSB definido como 0.

Outras dicas

Há também alguma documentação gráfica explicando alguns dos formatos aqui.Esta seção não está mais presente no livro da comunidade, mas ainda está disponível no local acima.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top