zlib.inflate возвращает ошибку: неизвестный метод сжатия

#javascript #zlib

Вопрос:

Я пытаюсь использовать zlib.inflate для распаковки этих данных (которые определенно были заархивированы с помощью zlib).:

Мое использование zlib.inflate очень простое, но не работает:

 var input = '789cbbd4280db30fb8f699713317440477e510defe4d38253d6a0ea4be1827e701da47911820d6d331f5b5f16f8411ed346ebebbc65549c99915b2a5457956a565c999560686566e41566191fe7ebe8eeee101518166ca9149c9f940dd4929798c4929255946064686ba06a6bac6864999c529ce7e8ebe49b989b9fe41eeba860606169817c0016ea2e81ca13d0c4e0340c7d65a56eb903a329014d8046ad8d7390f86e506e3117c4c4f0080af284fcedcfa04a0301bdd7e94fca42c434b0b4b5d03635d038be4bcc4dc25496979692ea101fe7e2149e979293e9ec1aec969792550a1e4f4bc128858596a51aaa19eb19e418443e79480e5bbee3bc74c3c7c3161cf938683e902979c97af2a7cf95f725bcc93899d67168d48f3efe45ffcc6bc31703761a00a65790ad5168efc7199865633280d2eb34c3cae9e86ea1389169a005a22708d'

var compression = zlib.inflate(input, (err, buffer) => {
    if (!err) {
        console.log(buffer.toString('hex'));
    }
    else {
        console.log(err)
    }
    
})
 

Кто-нибудь знает, как заставить zlib раздувать входные данные, не возвращая ошибку?

Спасибо.

Ответ №1:

Сначала вам нужно преобразовать шестнадцатеричное число в двоичное.

Комментарии:

1. Преобразовано в двоичный код, но теперь появляется эта ошибка:Ошибка: неправильная проверка заголовка в Zlib.zlibOnError [как ошибка] (zlib.js:187:17) { ошибка: -3, код: ‘Z_DATA_ERROR’ }

2. Тогда ты сделал это неправильно. 78 9c является допустимым заголовком zlib.

3. Хотя что-то еще не так с этими данными дефляции после заголовка.