Bonjour,
je cherche a faire une petite moulinette qui décompresse des archives dans un dossier spécifique, pour cela j'utilise une library open source (SharpZipLib) qui a l'air pas trop mal...
Cependant même si mon algorithme fonctionne sur des essais où j'ai placé des fichiers texte, cela ne fonctionne pas pour autant avec d'autres fichiers encodés (tels que des jpg, des wav, des mp3...). Après avoir comparé le contenu du fichier décompressé avec mon algo et celui du fichier original j'ai l'impression que cela semble être un problème d'encodage des caractère...
Comment faire pour que le fichier soit correctement encoder?
Cf-> code source
Merci d'avance pour vos réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 ZipInputStream zip = new ZipInputStream(File.OpenRead(@"D:\dev\Test\battlelan.zip")); ZipEntry obj; obj = zip.GetNextEntry(); // lit le fichier en cours while (obj != null) { byte[] buffer = new byte[obj.Size]; StreamWriter writer = new StreamWriter(@"D:\dev\Test\" + obj.Name, false); zip.Read(buffer, 0, buffer.Length); // après vérif le byte[] est correct, c'est au moment de la conversion en string que ca pose problème writer.Write(Encoding.ASCII.GetString(buffer, 0,buffer.Length)); writer.Close(); obj = zip.GetNextEntry(); } MessageBox.Show("Archive décompressée");
Partager