i am developing an application where i compress large JSON data using pako.gzip and then use the btoa function to make it base64string in order to post the data to the server. In the javascript i wrote:
    var data = JSON.stringify(JSONData);
    var ZippedData = pako.gzip(data, { to: 'string' });
    var base64String = btoa(ZippedData);
    /* post to server*/
    $http.post("URL?base64StringParam=" + base64String").then(function (response) {
        //do stuff
    });
the problem is that i need to decompress the data again in C# code after posting in order to do other workings on it. In the C# code i wrote:
    byte[] data = Convert.FromBase64String(base64StringParam);
            string decodedString = System.Text.ASCIIEncoding.ASCII.GetString(data);
            Encoding enc = Encoding.Unicode;
            MemoryStream stream = new MemoryStream(enc.GetBytes(decodedString));
            GZipStream decompress = new GZipStream(stream, CompressionMode.Decompress);
            string plainDef = "";
and i get the error here
    using (var sr = new StreamReader(decompress))
            {
                plainDef = sr.ReadToEnd();
            }
Found invalid data while decoding.
any help to decompress the data back in C# will be appreciated
EDIT:to sum up what needed to be done javascript does the following:
Plain text >> to >> gzip bytes >> to >> base64 string
i need C# to do the reverse:
Base64 >> to >> unzip bytes >> to >> plain text
 
     
    