Как декодировать сжатую строку из PHP в Swift?
У меня есть текстовый файл сжатый с помощью функции zlib в php:
base64_encode(gzcompress('привет')) // "eJy7sP9iw4UdFzZd2HqxCQA6EAjD"
Теперь мне нужно прочитать этот файл в iOS приложении. Для этого я попытался использовать библиотеку https://github.com/mw99/DataCompression
let data = Data(base64Encoded: "eJy7sP9iw4UdFzZd2HqxCQA6EAjD")!
print(data.decompress(withAlgorithm: .zlib)) // nil
Но в консоле я получаю nil
Ответы (1 шт):
Автор решения: schmidt9
→ Ссылка
Вы использовали не тот метод из данной библиотеки для распаковки. У вас данные в php упакованы с помощью алгоритма zlib deflate (тыц), который нужно распаковывать с помощью метода unzip
let data = Data(base64Encoded: "eJy7sP9iw4UdFzZd2HqxCQA6EAjD")!
let deсompressedData = data.unzip()!
let str = String(data: deсompressedData, encoding: .utf8)
print(str) // Optional("привет")