C# эквивалент zlib.decompressC#

Место общения программистов C#
Ответить
Anonymous
 C# эквивалент zlib.decompress

Сообщение Anonymous »

Что является эквивалентом функции Python zlib.decompress() в C#? Мне нужно распаковать некоторые файлы zlib с помощью C#, и я не знаю, как это сделать.
Пример Python:

Код: Выделить всё

import zlib

file = open("myfile", mode = "rb")
data = zlib.decompress(file.read())
uncompressed_output = open("output_file", mode = "wb")
uncompressed_output.write(data)
Я попытался использовать класс system.io.compression.deflateStream , но для каждого файла, который я пробую, это дает мне исключение, что файл содержит недопустимые данные при декодировании.

Код: Выделить всё

byte[] binary = new byte[1000000];
using (DeflateStream compressed_file = new DeflateStream(new FileStream(@"myfile", FileMode.Open, FileAccess.Read), CompressionMode.Decompress))
compressed_file.Read(binary, 0, 1000000); //exception here
using (BinaryWriter outputFile = new BinaryWriter(new FileStream(@"output_file", FileMode.Create, FileAccess.Write)))
outputFile.Write(binary);

//Reading the file like normal with a BinaryReader and then turning it into a MemoryStream also didn't work
Наверное, следует упомянуть, что эти файлы представляют собой файлы, сжатые ZLIB. Они начинаются с заголовка 78 9C.

Подробнее здесь: https://stackoverflow.com/questions/627 ... decompress
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»