2012-07-01 2 views
1

Итак, я читал PKWARE's specification of the .zip file format и заметил, что в нескольких местах они дают размеры блоков в терминах слов (слово процессора, а не слова словаря :-)).Длина слова, как определено в спецификации формата .ZIP

Теперь, насколько я понимаю, размер байта слова определен для определенного семейства процессоров. Поэтому, если файл был заархивирован на i386, а затем распакован на x64-86, две архитектуры будут иметь разные определения слова (4 байта по сравнению с 8 байтами) и поэтому интерпретируют данные блока по-разному.

Я что-то упустил? Или люди в PKWARE просто предполагают, что 1 слово = 4 байта? Это похоже на самый вероятный вариант для меня - я проверил некоторые zip-файлы с шестнадцатеричным редактором, и 4-байтовое определение подойдет, но я хотел бы получить некоторое подтверждение, потому что это не так, как будто у меня есть целая куча разных процессоров тест с :)

заранее спасибо, и извините, если уже существует вопрос - я стараюсь искать, но это немного трудно, потому что слово «слово» настолько неоднозначна (посмотреть, что я имею в виду?)

+1

в спецификации pkware, 1 слово = 32 бит. – Cheeso

+0

Короткий и сладкий, вот и все, что мне нужно было знать. Благодаря! – Moritz

ответ

2

Где в спецификации указано «слово» для сохраненного блока в формате дефляции, это означает два байта (в порядке LSB).

Для шифрования почтового индекса (где указанное шифрование не должно использоваться, поскольку оно настолько слабое), снова слово означает два байта.

Когда речь идет о флагом общего назначения под импозицией, он снова означает два байта.

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

  • Нет связанных вопросов^_^