1
サーバー側アプリケーションから圧縮された文字列データを受信しています。文字列を圧縮解除しています。受信したデータが圧縮されているかどうかを確認できます。文字列がすでに圧縮されているかどうかを確認します
string compressedData = Getting from some function;
//What can i add here to check if the compressedData string contain already compressed string or not.
string decompressedData = Decompress(compressedData);
//Decompress Function
static string Decompress(string compressedText)
{
if (string.IsNullOrEmpty(compressedText))
return "";
byte[] gzBuffer = Convert.FromBase64String(compressedText);
using (MemoryStream ms = new MemoryStream())
{
int msgLength = BitConverter.ToInt32(gzBuffer, 0);
ms.Write(gzBuffer, 4, gzBuffer.Length - 4);
byte[] buffer = new byte[msgLength];
ms.Position = 0;
using (GZipStream zip = new GZipStream(ms, CompressionMode.Decompress))
{
zip.Read(buffer, 0, buffer.Length);
}
return Encoding.UTF8.GetString(buffer);
}
}
はいを成功した場合は、試すことができます。お返事ありがとうございます –
ようこそ! – fubo