在javascript上等效的gzuncompress of php


The gzuncompress of php equivalent on javascript

我有一个php文件,它做:

echo(gzcompress("TEST COMPRESS"));

在 JavaScript 上,我在 PHP 上做了一个请求,我想要一个函数对 gzun压缩(data( 执行相同的操作,以便在客户端再次获取结果 = "测试压缩"。

编辑:谢谢@aaronk6,zlib 工作了!

如果

有人准备好这个问题,如果 php 使用 gzencode((,zlib 将起作用,gzcompression 将不起作用。

正如@SLaks指出的那样,这可能是毫无意义的,但是这里是您问题的答案。

浏览器没有可从

JavaScript 访问的解压缩方法,因此没有等效方法。当你想在 JavaScript 中解压缩 gzip 数据时,你需要使用 gzip 算法的 JavaScript 实现。

有 zlib.js它似乎能够做到这一点。

如果你的服务器上运行了 PHP,并且你想在 Javascript 中解压缩一个 zlib 压缩的字符串,那么使用 zlib.js 库的另一种方法是使用 Fetch API 重新联系服务器,然后简单地使用 PHP gzuncompress()

例:

const decompressString = async (compressedString) => {
  const decompressionScriptFilepath = '/decompress-string.php';
  const compressedStringToSend = { method: 'POST', body: compressedString };
  const response = await fetch(decompressionScriptFilepath, compressedStringToSend);
  return await response.text();
}

PHP 脚本在/decompress-string.php

<?php
  $Compressed_String = file_get_contents('php://input');
  $decompressedString = gzuncompress($Compressed_String);
  echo $decompressedString;
?>

然后你只需要调用javascript函数:

decompressString('eNoLycgsVgCiRIWS1OISPYWQUf4of5Q/yh/lj/JH+aP8wc0HAERY4KM=');