首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

gzip脑袋格式

2013-01-23 
gzip头部格式注意两个加好表示一个字节(8位)gzip头的式:------------------------------|ID1|ID2|CM |FLG|

gzip头部格式

注意两个加好表示一个字节(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: compress2: pack3: lzh4-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字节。操作系统    IDOS0x00FAT filesystem (MS-DOS, OS/2, NT/Win32)0x01Amiga0x02VMS (or OpenVMS)0x03Unix0x04VM/CMS0x05Atari TOS0x06HPFS filesystem (OS/2, NT)0x07Macintosh0x08Z-System0x09CP/M0x0aTOPS-200x0bNTFS filesystem (NT)0x0cQDOS0x0dAcorn RISCOS0xffunknown 
额外的头字段:(可选的)若 FLG 的 bit 2 FEXTRA =  的值为1时需要添加一下格式内容+---+---+-------+----------------------------+|SI1 | SI2 |  XLEN  | 长度为XLEN字节的可选       |+---+---+-------+----------------------------+

+-------+| CRC16 |+-------+

2. 数据部分

通常采用deflate格式的数据

3. 尾部分CRC32:4字节。原始(未压缩)数据的32位校验和。
ISIZE:4字节。原始(未压缩)数据的长度的低32位。

blog:http://blog.csdn.net/rentiansheng/article/details/8509558
       

热点排行