javascript - 在 Nodejs 中解析 gzip 流

标签 javascript node.js gzip mqtt

如何在 Node.js 中解压缩 gz 流?我正在尝试使用 MQTT 解析 gz 流(数据文件)。我的代码看起来像

var mqtt = require('mqtt')
, client = mqtt.createClient('1883','mqttserver');
client.subscribe('MQTT/#');
client.on('message', function(topic,message) {
var zlib  = require('zlib');
zlib.gunzip(message, function(err,message ) {
if (!err) {
console.log(message.toString());
}
});

为什么每当我收到 gz 流时,数据大小都比发送的 gz 流小 ~200 字节?

最佳答案

问题出在图书馆本身。默认编码设置为字符串“utf-8”,因此丢失了一些数据。请看看这个 https://github.com/adamvr/MQTT.js/issues/109

感谢大家的快速回复

关于javascript - 在 Nodejs 中解析 gzip 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17943410/

相关文章:

http - 是否有任何浏览器支持 HTML 5's Canvas that don' t 默认为 gzip 的 'Accept-Encoding'?

javascript - 使用 fetch.js 启用 gzip 压缩

javascript - JavaScript 中逻辑表达式的短路评估

javascript - 跳过/跳跃抛 anchor

javascript - fast-csv 转换似乎正在剥离列

javascript - 如何使用 loadVirtual 和 ENOLOCK 修复 npm 审计错误?

javascript - 使用 Ajax 时检查客户端和服务器的同步状态

javascript - Google Maps API Autocomplete 的 pac-container div 上的点击事件

node.js - ElasticSearch-多次匹配查询,即使数据在那里也没有返回命中值-NodeJS

python - 自动提取压缩的 .gz 和 .bz2 s3 文件