Является ли алгоритм GZIP независимым от платформы - PullRequest
0 голосов
/ 01 марта 2019

Есть ли способ убедиться, что после сжатия файла я использую библиотеку на Java.Я могу распаковать файл на любом другом языке, который поддерживает библиотеки GZIP.Я вижу, что GZIP поддерживается спецификацией формата данных https://tools.ietf.org/html/rfc1952

, но не видел больше ресурсов для проверки независимости платформы GZIP

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Формат GZIP не зависит от платформы.Он определяет формат как последовательность октетов и не зависит от проблем с упорядочением байтов на платформе или в сетевом оборудовании.Вы можете убедиться в этом сами, внимательно прочитав спецификацию.

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

Существует несколько незначительных предостережений:

  1. Файл GZIP может дополнительно кодировать имя исходного (исходного) файла.В спецификации сказано, что необязательное имя файла должно состоять из символов ISO 8859-1.Это ограничение, если исходное имя файла содержит символы, которые не соответствуют ISO 8859-1, ИЛИ если система, в которой вы декодируете, не может сопоставить все символы ISO 8859-1 с набором символов, используемым для имен файлов.

  2. Файл GZIP может дополнительно содержать метку времени модификации, представленную как смещение от «00:00:00 по Гринвичу, 1 января 1970 года» 2 .Как отмечается в спецификации, это может быть проблематично на платформах, где время по Гринвичу / UTC недоступно;например, MS-DOS.

Инструменты, которые создают и читают файлы GZIP, должны справляться с этим.Например, инструменты GNU gzip, поставляемые в стандартной комплектации в дистрибутивах Linux, имеют опцию --no-name, которая указывает командам не сохранять или восстанавливать исходное имя файла и метку времени.


1 - Все ставки отключены для инструментов, которые являются неправильными реализациями спецификации.Но вы вряд ли найдете такой инструмент в дикой природе.

2 - В спецификации указано GMT, а не UTC.Я просто цитирую, что там написано.

0 голосов
/ 02 марта 2019

Да.Формат gzip полностью независим от платформы.

...