php 的 gzuncompress 相当于 javascript

The gzuncompress of php equivalent on javascript

我有一个 php 文件:

echo(gzcompress("TEST COMPRESS"));

在 javascript 我在 php 上做了一个请求,我想要一个函数 对 gzuncompress(data) 执行相同的操作以在客户端再次获取结果 = "TEST COMPRESS"。

编辑: 谢谢@aaronk6,zlib 成功了!

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

正如@SLaks 所指出的,这可能毫无意义,但这是对您问题的回答。

浏览器 没有 具有可从 JavaScript 访问的解压缩方法,因此没有等效方法。当您想解压缩 JavaScript 中的 gzip 数据时,您将需要使用 gzip 算法的 JavaScript 实现。

似乎有zlib.js可以做到这一点。

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

示例:

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=');