【问题标题】:Word Length as defined in the .ZIP format specification.ZIP 格式规范中定义的字长
【发布时间】:2012-07-01 08:42:19
【问题描述】:

所以我一直在阅读PKWARE's specification of the .zip file format 并注意到在几个地方他们根据单词(处理器单词,而不是字典单词:-))给出块大小。

现在,按照我的理解,一个字的字节大小是特定于某个处理器系列的。因此,如果一个文件在 i386 上压缩,然后在 x64-86 上解压缩,这两种架构将有不同的单词定义(4 字节与 8 字节),因此会以不同的方式解释块数据。

我在这里遗漏了什么吗?还是 PKWARE 的人只是假设 1 个字 = 4 个字节?这对我来说似乎是最有可能的选择 - 我已经使用十六进制编辑器检查了一些 zip 文件,并且 4 字节的定义适合,但我想要一些确认,因为它不像我有一大堆不同的处理器来测试:)

提前谢谢,如果问题已经存在,很抱歉 - 我确实尝试过搜索,但有点困难,因为“单词”这个词太含糊了(明白我的意思吗?)

【问题讨论】:

  • 在 pkware 的规范中,1 个字 = 32 位。
  • 简短而甜蜜,这就是我需要知道的全部内容。谢谢!

标签: compression zip standards cpu-architecture


【解决方案1】:

在规范中对 deflate 格式的存储块说“字”的地方,它表示两个字节(按 LSB 顺序)。

对于 zip 解密(不应该使用加密,因为它太弱了),一个词也意味着两个字节。

当它谈到一个通用标志字时,它再次表示两个字节。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 2020-09-30
    • 2021-08-13
    • 1970-01-01
    • 2014-09-20
    • 2010-11-27
    • 2021-11-10
    相关资源
    最近更新 更多