gzip头部格式

您所在的位置:网站首页 文件系统类型NTFS改法 gzip头部格式

gzip头部格式

2024-06-11 14:44| 来源: 网络整理| 查看: 265

注意两个加好表示一个字节(8位) gzip头的格式: +---+---+---+---+---+---+---+---+---+---+ |ID1|ID2|CM |FLG| MTIME |XFL|OS | (more-->) +---+---+---+---+---+---+---+---+---+---+ (if FLG.FEXTRA set) +---+---+=================================+ | XLEN |...XLEN bytes of "extra field"...| (more-->) +---+---+=================================+ (if FLG.FNAME set) +=========================================+ |...original file name, zero-terminated...| (more-->) +=========================================+ (if FLG.FCOMMENT set) +===================================+ |...file comment, zero-terminated...| (more-->) +===================================+ (if FLG.FHCRC set) +---+---+ | CRC16 | +---+---+ +=======================+ |...compressed blocks...| (more-->) +=======================+ 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | CRC32 | ISIZE | +---+---+---+---+---+---+---+---+ ID1与ID2:各1字节。固定值,ID1 = 31 (  '\037' ,0x1F),ID2 = 139(  '\213' ,0x8B),指示GZIP格式。 CM:1字节。压缩方法。 0: store (copied) 1: compress 2: pack 3: lzh 4-7: 保留 8: deflate FLG:1字节。标志。 bit 0 FTEXT - 指示文本数据 bit 1 FHCRC - 指示存在CRC16头校验字段 bit 2 FEXTRA - 指示存在可选项字段 bit 3 FNAME - 指示存在原文件名字段 bit 4 FCOMMENT - 指示存在注释字段 bit 5-7 保留 MTIME:4字节。更改时间。UINX格式。 XFL:1字节。附加的标志。 OS:1字节。操作系统     ID OS 0x00 FAT filesystem (MS-DOS, OS/2, NT/Win32) 0x01 Amiga 0x02 VMS (or OpenVMS) 0x03 Unix 0x04 VM/CMS 0x05 Atari TOS 0x06 HPFS filesystem (OS/2, NT) 0x07 Macintosh 0x08 Z-System 0x09 CP/M 0x0a TOPS-20 0x0b NTFS filesystem (NT) 0x0c QDOS 0x0d Acorn RISCOS 0xff unknown  额外的头字段:(可选的) 若 FLG 的 bit 2 FEXTRA =   的值为1时需要添加一下格式内容 +---+---+-------+----------------------------+ |SI1 | SI2 |  XLEN  | 长度为XLEN字节的可选       | +---+---+-------+----------------------------+

若 FLG 的 bit 3 FNAME 的值为1时需要添加一下格式内容

+----------------------------------------------+ | 原文件名(以NULL结尾) | +----------------------------------------------+

(若  FLG 的  bit 4 FCOMMENT 的值为1时需要添加一下格式内容

+-------------------------------------------------+ | 注释文字(只能使用iso-8859-1字符,以NULL结尾) | +-------------------------------------------------+

若  FLG 的  bit 1 FHCRC  的值为1时需要添加一下格式内容

+-------+ | CRC16 | +-------+ 2. 数据部分

通常采用deflate格式的数据

3. 尾部分 CRC32:4字节。原始(未压缩)数据的32位校验和。 ISIZE:4字节。原始(未压缩)数据的长度的低32位。 blog: http://blog.csdn.net/rentiansheng/article/details/8509558


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3