У меня есть модуль Java, который получает сжатую строку из удаленного скрипта Python. Скрипт Python сжимает строку, используя zlib.compress()
. Я просто хочу распаковать его в Java и показать его пользователю.
Справочная страница для встроенного в Java объекта zip.Deflater довольно подробно описывает, как распаковать что-то, что было сжато с использованием zlib.compress()
. Однако этот метод не работает для меня. В зависимости от того, какую кодировку я использую, я получаю либо ошибки «Неправильная проверка заголовка», либо распаковка возвращает пустую строку.
Итак, как мне это распаковать? При передаче данные не повреждаются, и сжатая строка начинается с «x \ x9c», что, по-видимому, подходит для zlib-сжатых файлов.
Я никогда раньше не имел дело со сжатием / распаковкой на этом уровне, и я запутался. Для дополнительного кредита я был бы признателен за объяснение между сжатым / несжатым и раздутым / спущенным. Согласно это они разные, но большая часть интернета, кажется, использует их взаимозаменяемо для zlib. Это только делает попытку найти решение еще более трудной, поскольку я не могу сказать вам, пытаюсь ли я на самом деле «распаковать» или «раздуть» эти данные.