2012-06-19 20 views

ответ

1

Файловые подписи, обычно два или несколько ведущих байтов, используются во многих форматах файлов, а не только для сжатых данных. Они существуют для того, чтобы программное обеспечение попросило обработать данные, чтобы проверить, что они были введены правильно. Таким образом, например, gzip может сразу сказать, что ему не был предоставлен файл gzip (скажем, ему был предоставлен файл bzip2). Затем он может немедленно остановиться и дать полезное сообщение об ошибке, что это не файл gzip. В отличие от обнаружения проблемы позже и предоставления какого-то загадочного сообщения, например, «недопустимая последовательность бит».

8-байтная PNG-подпись была разработана не только для идентификации файлов PNG, но и для обнаружения распространенных ошибок, таких как конверсии конца строки, непреднамеренно примененные к двоичному PNG-файлу. PNG-подпись содержит концевые строки, которые будут запутаны и не станут сигнатурой PNG, обеспечивая раннее указание на повреждение файла, которое в противном случае было бы обнаружено позже, опять же с скорее более загадочным сообщением.

См. Это wikipedia entry для получения хорошего списка подписей.

1

Это байты в начале сжатого потока, идентифицирующие используемый компрессор. Например, bzip2 будет иметь символы «BZ» в начале (см. here в разделе «Формат файла»), в то время как gzip будет иметь байты 1F 8B. См. http://www.garykessler.net/library/file_sigs.html для получения дополнительной информации о других типах файлов.

+0

Выполняют ли они цель, не позволяя легко определить тип используемого сжатия, когда пришло время сжимать? – SooDesuNe

+0

Ну, не то, что я знаю ... Я мог бы сказать в более общем плане, что он используется для идентификации типа контента. – smichak

Смежные вопросы