欢迎来到天天文库
浏览记录
ID:7058175
大小:67.00 KB
页数:11页
时间:2018-02-03
《rar文档结构说明翻译(中英对照)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《RAR文档结构说明书的中文翻译》译者邮箱:tuobaye2006@gmail.com RARversion3.40---Technicalinformation RAR3.4版---技术信息 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ THEARCHIVEFORMATDESCRIBEDBELOWISONLYVALIDFORVERSIONSSINCE1.50 下面对归档文件格式的描述仅仅对1.5以后的版本是有效的 =============================================
2、==RARarchivefileformatRAR归档文件格式 ===============================================Archivefileconsistsofvariablelengthblocks.归档文件是由可变长度的块组成的。Theorderoftheseblocksmayvary,butthefirstblockmustbeamarkerblockfollowedbyanarchiveheaderblock. 这些块之间没有固定地先后顺序,但是要求第一个块必须是被一个归档头部块紧跟的标志块【译者注:即第一个块是标志块,并且其
3、后紧跟一个归档头部块】。 Eachblockbeginswiththefollowingfields: 每一个块都是由以下域开始的:【译者注:即每一个块的头部都是由以下域(可称之为头域)组成的】HEAD_CRC 2bytes CRCoftotalblockorblockpart 整个块或者块某个部分的CRC(根据块类型而有不同)HEAD_TYPE 1byte Blocktype 块类型【译者注:也可以理解为块头部类型,因为不同的块
4、对应不同的块头部。后文也经常混淆这两种概念。】HEAD_FLAGS 2bytes Blockflags 块标志HEAD_SIZE 2bytes Blocksize 块大小【译者注:本文中和块头部大小的概念一直混淆。】ADD_SIZE4bytes Optionalfield-addedblock-11-《RAR文档结构说明书的中文翻译》译者邮箱:tuobaye2006@gmail.comsize
5、 添加块的大小(这是一个可选域) FieldADD_SIZEpresentonlyif(HEAD_FLAGS&0x8000)!=0 ADD_SIZE这个域仅当(HEAD_FLAGS&0x8000)!=0【译者注:即块标志的首位被置1】的时候才会存在 TotalblocksizeisHEAD_SIZEif(HEAD_FLAGS&0x8000)==0当块标志的首位被置0的时候,整个块的大小就是HEAD_SIZEandHEAD_SIZE+ADD_SIZEifthefieldADD_SIZEispresent-when(HEAD_FLAGS&0x8000)!=0. 而块标志的
6、首位被置1的时候,整个块的大小就是HEAD_SIZE+ADD_SIZE IneachblockthefollowingsbitsinHEAD_FLAGShavethesamemeaning: HEAD_FLAGS域【块标志】的以下几位在每一个块中都有相同的含义: 0x4000-ifset,olderRARversionswillignoretheblockandremoveitwhenthearchiveisupdated. 【高二位】 (此位)如果置为1,老版本的rar会在归档文件更新的时候忽略这个块,并且移除这个块。ifclear,theblockiscopiedt
7、othenewarchivefilewhenthearchiveisupdated; 如果清为0,那么当更新的时候,这个块会被复制到新的归档文件中 0x8000-ifset,ADD_SIZEfieldispresentandthefullblocksizeisHEAD_SIZE+ADD_SIZE. 【最高位】(此位)如果置为1,就会存在ADD_SIZE这个域,并且整个块的大小就应该是HEAD_SIZE+ADD_SIZE Declaredblocktypes: 已
此文档下载收益归作者所有