使用Node.js保存压缩字符串

时间:2017-08-04 22:15:46

标签: javascript php node.js zlib

现在,我正在使用gzcompress压缩一些数据并将其保存到PHP中的文件中。这是我的PHP代码。我将此压缩字符串保存到文件中,然后使用zlib从iOS打开它。

$compressed_text = gzcompress($text, 9);

我尝试使用Node.js在Javascript中做同样的事情,但我无法让它工作。这是我在Javascript中尝试做的事情。

var input = new Buffer(text);
zlib.deflate(input, function(error, output) {
   var compressed_text = output.toString('ascii');
});

使用Node.js从iOS解压缩此数据并不起作用。它适用于PHP,但我无法在Node.js中使用它。我应该使用其他方法而不是deflate吗?

1 个答案:

答案 0 :(得分:1)

zlib输出是二进制的,所以你需要一些方法来保存字节。在节点中,最简单的方法是将其保留为Buffer。由于您提到将其保存到文件中,您可以执行

fs.writeFile(path, output, (err) => {
  if (err) throw err;
  console.log('Wrote data to disk');
});