我正在.csv.gz
从远程服务器下载文件,并且此文件的内容存储为字符串。这是我看到的内容的一小部分样本console.log
:
�}�v������)��t�Y�j�8p0�eCR��
l��1�=���6������~̵r�����0c7�7L���������U:���0�����g��
如何在Node.js中解压缩该文件,以便将其转换为原始.csv
文件?
我已经尝试过zlib.gunzip(Buffer.new(body), callback)
,但是随后出现错误
Gunzip.zlibOnError处的标头检查不正确(zlib.js:152:15)
该文件本身是有效的,我可以双击以解压缩并在计算机上打开它。
我使用创建文件:zlib.createGzip();
然后gzip.pipe(writeStream);
更新资料
(实际)问题是我的数据已utf8
编码,因此我需要确保其保留为Buffer或Binary。
问题是fs.createWriteStream
默认为utf-8
编码,您应该将其更改为binary
,然后您将能够创建一个gunzip
将快乐接受的有效缓冲区。
您可以通过将代码更改为:
gzip.pipe(data => writeStream(data, { encoding: 'binary'})
参见https://nodejs.org/api/fs.html#fs_fs_createwritestream_path_options
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句