Я сжимаю некоторые пакеты данных, используя класс GZipStream в рамках .NET. Все работает отлично, и степень сжатия в порядке, но когда я просматриваю сжатые данные с помощью шестнадцатеричного редактора, я заметил, что до трети каждого сжатого пакета заканчиваются нули. Это нормально?Что может привести к сжатию данных GZipStream с избыточным заполнением нулями?
Предположительно GZipStream - это блок-компрессор, и выход дополняется, чтобы выровнять его с некоторым размером блока? Существуют ли альтернативы, которые одинаково стабильны, а также поддерживаются, но без этой проблемы? (Я полагаю, что могу получить еще 10-30% сжатие, используя аналогичный алгоритм сжатия, который не так сильно нагружен).
Как вы используете? Например, использование 'MemoryStream.GetBuffer' вместо' MemoryStream.ToArray' или 'FileStream' вызовет такие проблемы. – CodesInChaos
Я думаю, что все. Если вы хотите, чтобы почта была ответом, я соглашусь. Благодарю. – redcalx