Это сообщение вики сообщества.Я не хочу никаких баллов за это - я уже проголосовал за закрытие вопроса.
Количество байтов для сжатия имеет очень мало общего с выбором алгоритма сжатия, хотя это влияет на реализацию,Например, если у вас меньше 2 ^ 15 байт для сжатия, если вы используете ZLib, вы захотите указать уровень сжатия менее 15. Уровень сжатия в элементах управления Zlib (один из двух таких параметров)глубина словаря «оглядки назад».Если ваш файл короче 16 Кбайт, тогда словарь 32 Кбайт никогда не будет заполнен наполовину;в этом случае используйте один меньший бит указателя при просмотре для 1/15-го ребра сжатия по сравнению с установкой ZLib в значение «max.»
. Содержимое данных имеет значение.Если вы отправляете изображения в основном с фоном, то вам может потребоваться кодировка длины выполнения (например, используемая в Windows .BMP).
Если вы отправляете в основном текст на английском языке, чем вы хотели бы использовать что-то вроде ZLib, которая реализует кодирование Хаффмана и сжатие словаря в стиле LZW.
Если ваши данные были зашифрованы, то попытка сжать их не удастся.
Если ваши данные определенного типасигнала, и вы можете допустить некоторую потерю деталей, тогда вы можете преобразовать его в частотное пространство и отправить только основные компоненты.(например, JPEG, MP3)