使用C#GZIPStream压缩文本的纯JS解压缩

时间:2019-07-22 06:34:29

标签: javascript gzip

需要纯JS文本解压缩解决方案(CQAAAB + LCAAAAAAABABzzs / LS00uSU0BABaaRpgJAAAA),相当于英语的“ connected”,是从对具有C#GZIP流压缩/解压缩的服务器的ajax调用中接收到的。经历了许多建议/解决方案,例如pako.jszlib.js,但我相信所有这些都是服务器端和/或nodejs解决方案。我不知道nodejs是否会对我有所帮助(,因为我不知道nodejs ),因为我需要将简单的html脚本标记解决方案包含在我的.html文件中。

有人提到Browserify可以包含所有内容,但也可以使用npm完成。

问题:

  1. 甚至可以使用JavaScript解压缩文本吗? 我是吗? 会把我带到无处可走的轨道上
  2. 如果是,那么如何?需要完整的sample.html和sample.js

在C#端使用的代码段(用于解压缩):

public static string decompressText(string compressedText)
       {
           compressedText = compressedText.Replace("\uFEFF", "");
           //compressedText = "CQAAAB+LCAAAAAAABABzzs/LS00uSU0BABaaRpgJAAAA";
           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);
           }
       }

需要一些解决方案,例如(我会做包装,但需要正确的压缩/解压缩功能):

<!DOCTYPE html>
<head>
    <script src="path_to/some_compression_decompression.js"></script>
    <script>
    var text = 'compressedData';
    var libObj = new some_compression_decompression_class();
    console.log(libObj.decompress(text));       // output decompressed data
    </script>
<head>
<body>
</body>
</html>

0 个答案:

没有答案
相关问题