J'ai une chaîne compressée d'octets sortant d'une base de données dont j'ai besoin de décompresser pour récupérer le fichier rtf là-dedans. C'est l'exigence.decompress deflate64
J'ai essayé d'utiliser DotNetZip et il m'a donné un taux de réussite de 50%. L'échec de 50% m'a donné une erreur de chiffrement non prise en charge (0x09, deflate64). Donc je pense que mon problème est qu'une partie de la chaîne compressée est compressée en utilisant deflate64 alors que d'autres ne le sont pas. Je ne sais pas pourquoi.
J'ai trouvé que zlib, DeflateStream et beaucoup de paquets gratuits ne supportent pas deflate64. SevenZipSharp et KarnaCompression (port d'Info-zip à C#) prétendent le supporter, mais je continue d'obtenir des erreurs en utilisant les deux bibliothèques. SevenZipSharp me donne une exception "Data error" pour laquelle google n'a pas de réponse, et KarnaCompression me donne une exception aléatoire "Une tentative a été faite pour charger un programme avec un format incorrect" que je ne peux pas remonter à KarnaCompression .
Quelqu'un at-il un exemple pratique d'utilisation d'une bibliothèque pour décompresser un fichier codé deflate64? Ou peut me montrer comment prouver que mon zip n'est pas un fichier codé deflate64 et quelque chose d'autre? Payer 700 $ pour une licence Xceed est la dernière option.
Avant d'acheter une licence Xceed, avez-vous utilisé sa version d'essai pour vérifier si vous pouvez tout décompresser ou est-ce que cela va aussi entraîner un taux de 50%? – Oliver
Avez-vous essayé d'écrire les octets hors de la base de données dans un fichier et de les décompresser avec un outil (7zip, winrar, etc.) pour vérifier si vous pouvez les lire avec autre chose pour vous assurer que le contenu est vraiment valide? – Oliver
Pour répondre à votre deuxième requête, j'ai écrit le flux dans un fichier et pouvoir l'ouvrir avec WinRAR. Je vais répondre à votre première question bientôt :) – Joe