Skip to content

Latest commit

 

History

History
42 lines (29 loc) · 1.15 KB

zip.md

File metadata and controls

42 lines (29 loc) · 1.15 KB

zip协议

rfc

  • 原始文件

    (' ' * 20 + '\n') * 6

  • 压缩后文件

    ' ' * 20 + '\n' 00000000: 1f8b 0808 4573 c160 0003 3132 332e 7478 ....Es.`..123.tx 00000010: 7400 5350 c004 5c00 8eba 3836 1500 0000 t.SP.....86....

    (' ' * 20 + '\n') * 8 00000000: 1f8b 0808 6874 c160 0003 3132 332e 7478 ....ht.`..123.tx 00000010: 7400 5350 c004 5c58 c468 2308 006b 053f t.SP..\X.h#..k.? 00000020: 9e7e 0000 00 .~...

  • 解析

    1. 头部分 1f8b gzip格式 08 压缩算法 deflate 08 FLG表示 都是08,代表 00001000 表示有名字, 所以我这里都有名字 bit 0: FTEXT bit 3: FNAME 4573 c160 修改时间 0x60c1 7345 = 1623290693 = 2021-06-10 10:04:53 0003 00代表 XFL压缩等级 03代表 Unix系统 3132 332e 7478 7400 文件名 12 3. tx t 以0结尾

    2. 内容 5350 c004 5c00

    3. 尾部分 CRC32 4字节 8eba 3836 ISIZE 4字节 1500 0000 21字节 因为用4字节,2**32来表示文件大小,所以当文件超过4G时,gzip的 ISIZE 4字节 7e00 0000 126字节