Я отлаживаю некоторые данные (строка JSON), которые отправляются в PHP API, который был сжат в C # с использованием DeflateStream
:
using (var writer = new StreamWriter(new MemoryStream())){
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
request.Headers.Add("Content-Encoding", "gzip");
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
byteArray = Compress(new MemoryStream(Encoding.UTF8.GetBytes(incomingData)));
Random random = new Random();
int randomNumber = random.Next(0, 100);
File.WriteAllBytes(@"compressed-"+ randomNumber + ".gz", byteArray);
}
Вот определение для Compress()
private static byte[] Compress(Stream input)
{
using (var compressStream = new MemoryStream())
using (var compressor = new DeflateStream(compressStream, CompressionMode.Compress))
{
input.CopyTo(compressor);
compressor.Close();
return compressStream.ToArray();
}
}
Есть ли способ открыть этот файл, созданный в Windows? Я пробовал 7zip и Winrar безрезультатно. Если бы я использовал GZipStream
, я мог бы открыть его, но PHP не совместим с этим форматом.