• Авторизация


[в пустоту] loveoffull : 28-09-2010 15:57


Второй день так пусто.

Голая квартира.

И я один, и ты одна. Вот.

Так ждешь этой двухнедельной свободы, а потом страдаешь от одиночества и тишины.

Завтра. Завтра уже новый сингл. Как неожидонно. Дожить бы до этого завтра и не сойти с ума от страха.  

комментарии: 10 понравилось! вверх^ к полной версии
Работаем с архивами Звездная_мышка : 20-02-2008 13:24



Работаем с ZIP-файлами
.




Структура ZIP-файла
.

ZIP файл состоит из последовательностей
записей четырех типов:

LOCREC, CENTREC, ENDREC, EXTREC

Каждая запись начинается с метки 'PK'
(0x504B) и типа записи:

    (0x0102) - CENTREC

    (0x0304) - LOCREC

    (0x0506) - ENDREC

    (0x0708) - EXTREC



Запись типа LOCREC (по 1 записи на каждый
упакованный файл (каталог) архива.)


Структура записи
:

- Version_Need_to_Extract_0 (1 байт)

- Version_Need_to_Extract_1 (1 байт)

    Номер версии Unzip определяется как
(Version_Need_to_Extract_0 / 10 + Version_Need_to_Extract_1 % 10)

- General_PurPose_Bit_Flag (2 байта)

    Универсальный битовый флаг, определяющий
платформу (ОС) и файловую структуру
исходных файлов

- Compression_Method (2 байта)

    Метод сжатия записи:

       
STORED = 0 (без сжатия)

        SHRUNK = 1

        REDUCED1 = 2

        REDUCED2 = 3

        REDUCED3 = 4

        REDUCED4 = 5

        IMPLODED = 6

        TOKENIZED = 7

        DEFLATED = 8

        ENHDEFLATED = 9

        DCLIMPLODED = 10

        PKRESMOD11 = 11

        BZIP2ED = 12

        NUM_METHODS = 13


- Last_Mod_DOS_DateTime (4 байта)

    Время последней модификации файла в
формате DOS

- CRC32 (4 байта)

    Контрольная сумма файла

- Compressed_Size (4 байта)

    Размер упакованного файла

- Uncompressed_Size (4 байта)

    Размер оригинального (распакованного)
файла

- FileName_Length (2 байта)

    Длина имени файла (включая путь от
центральной директории)

- Extra_Filed_Length (2 байта)

    Длина дополнительного поля

- Patch_and_FileName (длина определяется
полем FileName_Length)

    Путь от центральной директории и название
файла

- Extra_Filed (присутствует если
Extra_Filed_Length > 0)

    Дополнительная информация

- File_Pack (длина определяется полем
Compressed_Size)

    Упакованное (или оригинальное если
Compression_Method = 0) содержимое файла. (для
каталогов отсутствует)


Примечание
: если в General_PurPose_Bit_Flag
установлен бит (0x8), то поля CRC32, Compressed_Size и
Uncompressed_Size в LOCREC равны нулю, а
соответствующие значения берутся из CENREC




Запись типа CENREC (по 1 записи на каждый
упакованный файл (каталог) архива.)


Структура записи:


- Version_Made_By_0 (1 байт)

- Versoin_Made_By_1 (1 байт)

    Номер версии Zip определяется как
(Version_Made_By_0 / 10 + Version_Made_By_1 % 10)

- Version_Need_to_Extract_0 (1 байт)

- Version_Need_to_Extract_1 (1 байт)

    Номер версии Unzip определяется как
(Version_Need_to_Extract_0 / 10 + Version_Need_to_Extract_1 % 10)

- General_PurPose_Bit_Flag (2 байта)

    Универсальный битовый флаг, определяющий
платформу (ОС) и файловую структуру
исходных файлов

- Compression_Method (2 байта)

    Метод сжатия записи

- Last_Mod_DOS_DateTime (4 байта)

    Время последней модификации файла в
формате DOS

- CRC32 (4 байта)

    Контрольная сумма файла

- Compressed_Size (4 байта)

    Размер упакованного файла

- Uncompressed_Size (4 байта)

    Размер оригинального (распакованного)
файла

- FileName_Length (2 байта)

    Длина имени файла (включая путь от
центральной директории)

-
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии

. Звездная_мышка : 11-01-2008 15:16


Настроение сейчас - Паршивое

Сообщество так толком и не работает. (((
комментарии: 1 понравилось! вверх^ к полной версии