Я давно хотел сжать строку в C ++ и отобразить ее сжатое состояние на консоли. Я что-то искал и пока не могу найти ничего подходящего. Самое близкое, что я нашел, чтобы найти это:
Как просто сжать строку C ++ с помощью LZMA
Однако я не могу найти заголовок lzma.h, который работает с ним где-либо.
По сути, я ищу такую функцию:
std::string compressString(std::string uncompressedString){
//Compression Code
return compressedString;
}
Выбор алгоритма сжатия не имеет большого значения. Кто-нибудь может помочь мне найти что-то подобное? Заранее спасибо! 🙂
Основываясь на указателях в статье, я уверен, что они используют XZ Utils, так что скачайте этот проект и сделайте созданную библиотеку доступной в вашем проекте.
Тем не менее, два предостережения:
Один алгоритм, с которым я играл, который дает хорошее сжатие на небольших объемах данных (проверено на блоках данных размером 300-500 байт): кодировка диапазона.
Других решений пока нет …