在C#中压缩后解压缩php中的字符串?

In C# I compress a big string (1.20 Mbytes) using the function below and then post it to a php page on my server through WebClient :

 public static string Compress(string s)
 {
 var bytes = Encoding.Unicode.GetBytes(s);
 using (var msi = new MemoryStream(bytes))
 using (var mso = new MemoryStream())
 {
    using (var gs = new GZipStream(mso, CompressionMode.Compress))
    {
        msi.CopyTo(gs);
    }
    return Convert.ToBase64String(mso.ToArray());
 }
 }

Basically in C#, I would do the following to decompress it :

 public static string Decompress(string s)
 {
 var bytes = Convert.FromBase64String(s);
 using (var msi = new MemoryStream(bytes))
 using (var mso = new MemoryStream())
 {
    using (var gs = new GZipStream(msi, CompressionMode.Decompress))
    {
        gs.CopyTo(mso);
    }
    return Encoding.Unicode.GetString(mso.ToArray());
 }
 }

But how can I do that in PHP (decompress the string)