Эй, у меня проблемы со сжатием файлов с помощью Ionic.zlib, я очень плохо знаком с C #, поэтому проблема может быть легко решена. Если я сожму большой файл, скажем, размером 500 КБ, то после того, как сжатый файл достигнет 65536 байт, он остановится, если я затем распакую файл, то пропадет много данных: /. Я могу исправить это, установив буфер равным 4 000 000, но я слышал, что лучше всего установить его в 0x4000.
ZlibStream compressor = new ZlibStream(gsc_stream, CompressionMode.Compress, CompressionLevel.BestCompression, true);
byte[] buffer = new byte[0x4000];
Int32 n;
int previous = Convert.ToInt32(zone.Position);
while ((n = compressor.Read(buffer, 0, buffer.Length)) != 0)
{
zone.Write(buffer, 0, n);
}
zone.Flush();
compressor.Flush();