Можно ли использовать только платформу .NET?
Уверенный - это именно то, для чего используется пространство имен System.IO.Compression
. Например, вы можете использовать класс GZipStream
. Для получения сжатых данных используйте MemoryStream
, а затем вы можете позвонить по телефону ToArray
.
Пример кода (непроверенные):
public static byte[] Compress(byte[] data)
{
using (var output = new MemoryStream())
{
using (var compression = new GZipStream(output, CompressionMode.Compress))
{
compression.Write(data, 0, data.Length);
}
return output.ToArray();
}
}
public static byte[] Compress(byte[] data)
{
using (var output = new MemoryStream())
{
using (var compression = new GZipStream(output, CompressionMode.Decompress))
{
compression.Write(data, 0, data.Length);
}
return output.ToArray();
}
}
Вы можете также использовать DeflateStream
в качестве альтернативной формы сжатия.