- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有一种方法可以创建一个 zip 文件并强制它在命令行中包含数据描述符部分?
最佳答案
在 Github ( https://github.com/adamhathcock/sharpcompress/issues/88#issuecomment-215696631) 的评论中,我发现了使用 -fd
标志的建议:
Just FYI, when creating the ZIP file i also used the the command line parameter
-fd
which enforces usage of data descriptors. Not sure whether the ZIP tool on OSX provides this parameter, but i noticed that you didn't use it when creating your ZIP file
所以我测试了它(使用 OS X 上的标准 zip
工具“Zip 3.0(2008 年 7 月 5 日)”),并确认它确实生成了一个带有数据描述符集的 zip 文件,如下:
/tmp> touch empty.txt/tmp> zip -fd foo.zip empty.txt adding: empty.txt (stored 0%)/tmp> xxd foo.zip00000000: 504b 0304 0a00 0800 0000 698d 7c49 0000 PK........i.|I..00000010: 0000 0000 0000 0000 0000 0900 1c00 656d ..............em00000020: 7074 792e 7478 7455 5409 0003 a65e 3c58 pty.txtUT....^<X00000030: a65e 3c58 7578 0b00 0104 f501 0000 0400 .^<Xux..........00000040: 0000 0050 4b07 0800 0000 0000 0000 0000 ...PK...........00000050: 0000 0050 4b01 021e 030a 0008 0000 0069 ...PK..........i00000060: 8d7c 4900 0000 0000 0000 0000 0000 0009 .|I.............00000070: 0018 0000 0000 0000 0000 00b0 8100 0000 ................00000080: 0065 6d70 7479 2e74 7874 5554 0500 03a6 .empty.txtUT....00000090: 5e3c 5875 780b 0001 04f5 0100 0004 0000 ^<Xux...........000000a0: 0000 504b 0506 0000 0000 0100 0100 4f00 ..PK..........O.000000b0: 0000 5300 0000 0000 ..S.....
The boldfaced sequence of 16 bytes above is the data descriptor section.Its header 50 4b07 08
(or PK..
) and the data descriptor format is specified by the zip specification (https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT):
4.3.9 Data descriptor:
crc-32 4 bytes
compressed size 4 bytes
uncompressed size 4 bytes
4.3.9.1 This descriptor MUST exist if bit 3 of the general
purpose bit flag is set (see below). It is byte aligned
and immediately follows the last byte of compressed data.
This descriptor SHOULD be used only when it was not possible to
seek in the output .ZIP file, e.g., when the output .ZIP file
was standard output or a non-seekable device. For ZIP64(tm) format
archives, the compressed and uncompressed sizes are 8 bytes each.
...
4.3.9.3 Although not originally assigned a signature, the value
0x08074b50 has commonly been adopted as a signature value
for the data descriptor record. Implementers should be
aware that ZIP files may be encountered with or without this
signature marking data descriptors and SHOULD account for
either case when reading ZIP files to ensure compatibility.
要找出通用位标志的第三位是否已设置,我们必须解析 zip 文件以找到 empty.txt 的文件头。
有关简要概述和描述 zip 文件中字节含义的表格,请参阅维基百科 - https://en.wikipedia.org/wiki/Zip_(file_format) .
最后 22 个字节(从倒数第二行开始,504b 0506
(或 PK..
)是中央目录 (EOCD) 记录的结尾。在此 EOCD 中的偏移量 16记录,一个 4 字节无符号整数指定中央目录的开始。我们有 5300 0000
(小端),或 0x53 = 83。这恰好是数据描述符部分之后的偏移量我们在上面已经确定了。从中央目录开始后的第 6 个偏移量开始,我们找到了一对构成位标志的字节。
0a 00 (little endian) = 00000000 00001010 (binary, big endian)
^
bit 3 of the general purpose flag
确实,第三位(从右数开始,从 0 开始)被设置,所以我们看到上面创建的 zip 文件确实有一个数据描述符部分。
关于zip - 如何使用数据描述符部分创建 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38437826/
来自descriptor文档: A descriptor can be called directly by its method name. For example, d.__get__(obj).
概要 本人python理论知识远达不到传授级别,写文章主要目的是自我总结,并不能照顾所有人,请见谅,文章结尾贴有相关链接可以作为补充 全文分为三个部分装饰器理论知识、装饰器应用、装饰器延申
我正在查看 python 的描述 rune 档 here ,让我思考的陈述是: 对于物体,机械在 object.__getattribute__()转换 b.x进入 type(b).__dict__[
if((fd = creat(file_name,O_RDWR|S_IRWXU|S_IRWXG|S_IRWXO)) < 0){ perror("Create failed!");
长话短说Python 2.7.5,当使用描述符作为装饰器时,有没有办法传入参数(给 __init__ 方法)?或者如何使用带参数的方法装饰器 ( as here ) 访问类实例的属性? -- 我认为这
我试着用谷歌搜索一些关于它的东西。为什么非数据描述符适用于旧式类? 文档说他们不应该: “Note that descriptors are only invoked for new style ob
我升级到使用嵌入式 maven 3 的 netbeans 7。我有一个项目,其中包含许多模块和包含其他模块的模块。我的其他不依赖于内部项目的子模块可以在相同的配置下正常工作。在这种情况下,spring
我正在关注http://scikit-image.org/docs/0.11.x/auto_examples/plot_daisy.html ,但是不太清楚 desc[0],desc[1] 和 des
我有一个要求,其中有一个全局 FILE指针/描述符。其中一个函数将从该指针/描述符中读取。与FILE指针/描述符相关联的内部指针前进。此函数返回后,我想从同一个 FILE 指针/描述符中读取数据,并与
我正在编写一些描述符来封装数据验证,并想为它们编写测试。 我想知道是否应该通过在我的测试中创建描述符实例然后显式调用 __get__ 或 __set__ 方法来测试它们。 或者我应该在我的测试文件中创
我有这个 python 描述符: # Date Descriptor class DateAttribute(): def __init__(self, value=None):
分割: @font-face { font-family: 'RobotoLight'; src: url('../font/jura-demibold.eot'); src: url('../fon
我正在编写一个配置卷的存储自动化模块。我没有传递在存储 Controller 上实际创建卷所需的六个或更多参数,而是使用 __slots__ 创建了一个参数类,它被传递到 create 方法中,如下所
在我的应用程序中,我必须使用静态摄像头跟踪大学讲座中的讲师。目前我正在使用 Emgu CV 的默认 GPUHOGDescriptor,如果讲师的整个 body 都可见,它会很好用。在讲师站在 tabl
大家好,我正在使用 opencv3 和 contrib。问题是我想计算给定像素的筛选描述符(不使用检测到的关键点)。 我正在尝试用给定的像素构建一个关键点向量。但是,要创建关键点,除了像素位置外,我还
我正在使用 OpenCV 中的 HOGDescriptor 类进行对象检测。在我看来,该实现仅使用无符号渐变,因此无法区分亮->暗和暗->亮过渡,这是我真正需要的功能。有谁知道使用有符号梯度的 HOG
我目前正在使用 OpenCV 的 ORB 特征提取器,我确实注意到 ORB 描述符的存储方式很奇怪(至少对我来说是这样)(它基本上是一个 BRIEF-32,带有与我的问题无关的修改) .正如你们中的一
我想知道,在 MATLAB 中是否有针对“汽车”之类的对象而非人类的 HOG 描述符的任何实现? 但万一,只有人类,你能指导我找到那个代码,并给我一些提示,以改进代码以用于“汽车或摩托车等物体” 最佳
我正在尝试更好地理解描述符。 我不明白为什么在 foo 方法中描述符 __get__ 方法未被调用。 据我了解描述符 __get__ 当我通过点运算符访问对象属性或使用 __getattribute_
我想要一个类似于这个(无效)的结构: const uint8_t uArray[] = { uint8_t(sizeof(uArray)), 1, 2, 3 }; 并且 uArray[0] 应该是 4
我是一名优秀的程序员,十分优秀!