Pergunta

.

Eu tenho uma sequência compactada de bytes saindo de um banco de dados que preciso descomprimir, de modo a recuperar o arquivo RTF lá. Este é o requisito.

Eu tentei usar o DotNetZIP e me deu uma proporção de sucesso de 50%. Os 50% com falha deu-me um erro de criptografia não suportado (0x09, defletação64). Então eu acho que meu problema é que algumas das cordas compactadas são comprimidas usando Deflate64 enquanto alguns outros não são. Não sei por quê.

Eu descobri que Zlib, Deflatestream e bastante alot de pacotes gratuitos não suportam Deflate64. Sevenzipsharp e karnacompression (porto de info-zip to c #) Reivindicação de suportá-lo, no entanto, eu mantenho erros de usar ambas as bibliotecas.

Exceção de "erro de dados" para o qual o Google não tem resposta, e o Karnacompression me dá alguma exceção aleatória "Uma tentativa foi feita para carregar um programa com um formato incorreto" que não posso rastrear de volta à Karnacompression.

Alguém tem um exemplo de trabalho de usar uma biblioteca para descomprimir um arquivo codificado de Deflate64? Ou pode me mostrar como provar que meu zip não é um arquivo codificado deflexate64 e outra coisa?

Pagar $ 700 para uma licença Xceed é a última opção.

Foi útil?

Solução

Eu tive um problema semelhante para isso.

Meu problema foi que eu estava tentando ligar para o UNZIP32.dll de um exe de 64 bits.

Confira isso: DLL de 32 bits importando em um aplicativo .NET de 64 bits

Outras dicas

sevensharpzip é apenas um invólucro ao redor da dll nativa 7zip.Eu prefiro SharpZiplib como uma solução pura de compressão .NET, no entanto, não suporta Deflate64.Eu tive uma rachadura em adicionar apoio, mas estou familiarizado com a sua implementação Zip.Há um padrão, mas as diferentes implementações são tão diferentes.Acabei usando sevensharpzip, no entanto, eu encontrei um erro recentemente - estou adicionando a capacidade de fazer backup do arquivo antes de executar as operações, que eu recomendo aos outros.

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