Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os volumes do sistema de ficheiros NTFS suportam a compressão de ficheiros numa base de ficheiros individuais. O algoritmo de compressão de ficheiros utilizado pelo sistema de ficheiros NTFS é a compressão Lempel-Ziv. Este é um algoritmo de compressão sem perdas, o que significa que nenhum dado é perdido ao comprimir e descomprimir o ficheiro, ao contrário de algoritmos de compressão com perdas, como JPEG, onde alguns dados são perdidos cada vez que ocorre compressão e descompressão de dados.
A compactação de dados reduz o tamanho de um arquivo minimizando dados redundantes. Em um arquivo de texto, os dados redundantes podem ser caracteres que ocorrem com frequência, como o caractere de espaço, ou vogais comuns, como as letras e e a; também podem ocorrer com freqüência cadeias de caracteres. A compactação de dados cria uma versão compactada de um arquivo minimizando esses dados redundantes.
Cada tipo de algoritmo de compressão de dados minimiza os dados redundantes de uma maneira exclusiva. Por exemplo, o algoritmo de codificação Huffman atribui um código a caracteres em um arquivo com base na frequência com que esses caracteres ocorrem. Outro algoritmo de compressão, chamado de codificação de comprimento de execução, gera um valor de duas partes para caracteres repetidos: a primeira parte especifica o número de vezes que o caractere é repetido e a segunda parte identifica o caractere. Outro algoritmo de compressão, conhecido como algoritmo Lempel-Ziv, converte cadeias de caracteres de comprimento variável em códigos de comprimento fixo que consomem menos espaço do que as cadeias de caracteres originais.
A compactação de arquivos do sistema de arquivos NTFS
No sistema de arquivos NTFS, a compactação é executada de forma transparente. Isso significa que ele pode ser usado sem exigir alterações nos aplicativos existentes. Os bytes compactados do arquivo não são acessíveis aos aplicativos; eles veem apenas os dados não compactados. Portanto, os aplicativos que abrem um arquivo compactado podem operar nele como se ele não estivesse compactado. No entanto, esses arquivos não podem ser copiados para outro sistema de arquivos.
Se você compactar um arquivo maior que 30 gigabytes, a compactação pode não ter êxito.
Os tópicos a seguir identificam a compactação de arquivos do sistema de arquivos NTFS:
Bibliotecas de compactação e descompactação de arquivos
As bibliotecas de compactação e descompactação de arquivos pegam um arquivo ou arquivos existentes e produzem um arquivo ou arquivos que são versões compactadas dos originais. A compressão também é sem perdas, mas a compressão não é transparente para as aplicações. Um aplicativo só pode operar em tais arquivos com a assistência de uma biblioteca de compressão de arquivos. Além disso, as únicas operações que você pode executar em tais arquivos são criar um arquivo compactado de um original e recuperar os dados originais da versão descompactada. A edição normalmente não é suportada, e a procura é limitada se for suportada.
Normalmente, um aplicativo chama funções em Lz32.dll para descompactar dados que foram compactados usando Compress.exe. As funções também podem processar arquivos sem tentar descompactá-los.
Você pode usar as funções no Lz32.dll para descompactar arquivos únicos ou múltiplos. Você também pode usá-los para descompactar arquivos compactados uma parte de cada vez.
Os tópicos a seguir identificam a descompactação de arquivo fornecida pelas funções em Lz32.dll:
Armários
Os gabinetes são criados por uma biblioteca de compressão que suporta recursos como abrangência de disco e compactação de vários arquivos. Para obter informações adicionais, consulte o Cabinet Software Development Kit: https://msdn.microsoft.com/library/dncabsdk/html/cabdl.asp.
Nesta secção
| Tópico | Descrição |
|---|---|
|
Atributo de compressão |
Em um volume de sistema de arquivos NTFS, cada arquivo e diretório tem um atributo de compactação . |
|
estado de compressão |
Cada arquivo e diretório em um volume que suporta compactação para arquivos e diretórios individuais tem um estado de compactação . |
|
Obtendo o tamanho de um arquivo compactado |
Para obter o tamanho compactado de um arquivo, use a função GetCompressedFileSize. |
|
Descompactar um único arquivo |
Um aplicativo pode descompactar um único arquivo compactado usando as funções LZOpenFile, LZCopy e LZClose. |
|
Descompactação de vários arquivos |
Um aplicativo pode descompactar vários arquivos usando as funções LZOpenFile, LZCopy e LZClose. |
|
Leitura de arquivos compactados |
Um aplicativo pode descompactar um arquivo compactado uma parte de cada vez usando as funções LZSeek e LZRead. |