Итак, у меня есть данные, сжатые с помощью метода PHP gzcompress: http://us2.php.net/manual/en/function.gzcompress.php
Как я могу декодировать эти данные из node.js ??
Я пробовал "compress", "zlib" и несколько других библиотек сжатия узлов, но, похоже, ни одна из них не распознает данные. Например, zlib выдает мне сообщение «Ошибка: неправильная проверка заголовка»
Ответ: Оказывается, лучше всего использовать zlib. У нас возникла дополнительная проблема с двоичными данными из кэша памяти. Если у вас есть двоичные данные в объекте буфера node.js, и вы вызываете toString () вместо .toString ('binary'), он получает все виды зашифрованных данных, когда что-то экранируется, или управляющие последовательности интерпретируются, или что-то еще. К сожалению, все плагины memcache, которые я пробовал на сегодняшний день, принимают строковые данные из memcache и не дисциплинированы относительно их правильной обработки.
Лучший модуль ZLIB, который я нашел:
https://github.com/kkaefer/node-zlib
// first run "npm install zlib", then...
var zlib = require('zlib');
var gz = zlib.deflate(new Buffer("Hello World", 'binary')); // also another 'Buffer'
console.log(zlib.inflate(gz).toString('binary'));
К вашему сведению, этот вопрос ОЧЕНЬ похож на связанный с ним вопрос о Java: Функция gzuncompress PHP в Java? а>