Совместимость библиотеки LZ4: java и IOS - PullRequest
0 голосов
/ 28 февраля 2019

Я хочу сжать данные с помощью LZ4 в конце IOS и хочу распаковать то же самое в конце Java.

Я использовал сжатие LZ4 с методом сжатия потока для IOS и jpountz () для Java.

Не удалось вКонец Java при распаковке.(Похоже, заголовок LZ4 различен для обеих платформ.)

Пожалуйста, помогите!

Если это невозможно, можете ли вы порекомендовать какую-либо совместимую библиотеку LZ4 для JAVA и IOS?

1 Ответ

0 голосов
/ 28 февраля 2019

LZ4 для IOS и из jpountz оба инкапсулируют данные, используя свои собственные заголовки.Так как эти заголовки разные, они не могут читать друг друга.

Вам нужно будет понять каждый формат заголовка и реализовать некоторую форму уровня перевода между ними.После того, как заголовки зафиксированы, остальная часть полезной нагрузки (сами сжатые данные) должна быть читабельной.

Другая возможность состоит в том, чтобы использовать различные библиотеки LZ4, совместимые с официальным форматом кадра LZ4 .Домашняя страница LZ4 поддерживает список совместимых кодеков , одним из которых является версия Java.

Эталонная версия C может использоваться на iOS.Он портативный и в целом совместим с Objective-C.Используйте lz4frame.h для инкапсуляции, используя официальный формат кадра.

...