OriginalGriff
Очень маловероятно, что какой-либо общий алгоритм сжатия получит такую степень сжатия: 5000:100 сжимает данные до 1/50-го исходного размера, и если данные не имеют чрезвычайно высокой избыточности для начала, это просто нереалистичная цель.
Если я создам текстовую строку из 5000 символов (а текст-это самая простая вещь для сжатия) и использую WinZip на самом высоком сжатии, чтобы уменьшить ее, я не получу ничего близкого: 1566 байт, что составляет рацион 5000:1566 или около 1/3.
И сжатие не может гарантировать никакого "конечного размера" от "любого входного сигнала 5K" - это не займет много времени, чтобы массово изменить конечный результат сжатия; многие формы данных уже сжаты (.JPG,. MP4,. ZIP и .RAR, например, все сжимаются очень плохо), и дальнейшее сжатие может даже увеличить размер результирующего файла, поскольку оно добавляет "накладную" информацию, которая объясняет, как распаковать его, когда придет время.
Я бы предложил хранить "сырые" данные в виде файла и хранить местоположение файла в пределах ваших 100 символов: поскольку у вас есть контроль над именем файла и путем, вы можете гарантировать, что он всегда будет соответствовать.