Я слышал, что это так, но как я могу получить доступ к этой информации? Ни 7-Zip, ни WinRAR не скажут мне. Кроме того, правда ли, что секунды хранятся в четных секундах (с разрешением 2 секунды)?

1 ответ1

0

Нету. AppNote.txt PKWare говорит, что файл хранит время модификации, но не время создания. Поэтому, если вы измените Zip-файл с помощью совместимого программного обеспечения, вы получите обновленное время модификации, что приведет к потере времени на создание.

Поэтому нет доступа к времени создания, потому что оно не сохраняется. Что касается времени модификации, то просмотр 11-го и 12-го байтов будет содержать биты (как отмечено в "Структуре файла PKZip" Флориана Бухгольца). Затем вам нужно будет интерпретировать вручную. Это может быть самый быстрый подход: я проверил еще пару пакетов программного обеспечения, и результаты, похоже, не сразу показывают время модификации. (Это не было бы сложно создать программу, чтобы показать это. Вы можете даже получить несколько решений, если отправите это в Programming Puzzles & Code Golf.) (Использование информации о времени в операционной системе может быть более удобным способом получения времени модификации. В отличие от моего (первого) комментария к Ромео Нинову, увиденного под вопросом, этот процесс будет немного более конкретным, для какой операционной системы используется.)

Что касается точности 2 секунды, ответ - да.* AppNote.txt показывает, что время модификации хранится в 2 байтах, а в разделе 4.4.6 написано «Дата и время кодируются в стандартном формате MS-DOS». Некоторая документация FAT16 подтверждает, что возможные значения для отслеживания секунд равны 0-29, и это значение удваивается (поэтому в результате вы получаете только четные секунды).

  • Сказав это, я просто использовал инструмент командной строки 7-Zip (7z.exe l filename.zip), и он показал мне время, включая 13 для количества секунд. Это было время для конкретного сжатого файла, а не для самого ZIP-файла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .