Xar

XAR可扩展归档格式()的缩写,是一种开源文件归档器和其文件格式。它创建于OpenDarwin项目,并在Mac OS X 10.5及更高版本中用于软件安装例程,以及在Safari 5.0及更高版本中用于浏览器扩展安装。 它取代了gzip压缩的pax文件的使用。

RPM的一个开发分支RPM5也使用xar。

文件结构
.xar文件包含三部分:文件头,目录表(Table of Contents, TOC)和堆。 所有字段均按大端顺序存储。
文件头
目录表(TOC)
与cpio,tar或ar的不同,Xar将TOC(目录表)存储在文件的开头,这使得附加到归档文件变得更加复杂,但是好处是不必扫描整个归档文件来提取单个包含的文件。 TOC以UTF-8编码的XML文档存储,zlib压缩。 存储在Xar中的每个文件都经过独立压缩/编码,可以使用不同的压缩方法对不同文件进行编码。在某些系统上,文件还可以通过xz或lzma压缩方法进行编码。

TOC示例

0
20

staff
20
joe
501
0755
directory
com.foobar

20

501
0775
directory
Contents

428
20
1005

a5f6f1461213a904f831d4ef6f214638342842ed
21d21a0c90378248ce0dfb6f345376d1b00d65fc

20

501
0664
file
Info.plist

20

501
0775
directory
Resources

14868
448
274432

efe5c97921de7ccc5aebc158d158e9d4280d6814
45c8be42d1d9afdb57ddd5e9311453010ec46161

20

501
0664
file
foobar

17635
15316
45056

3c761ffcc81ee6e232e4f4a1c4a81654c26c4e52
0ea31f8ef0e5987a1838a64ab5c26ebf3ee4bc37

20

501
0664
file
docSet.skidx

20

501
0775
directory
Documents

35790
32951
209242

5242cd71585c34e722932f324706f8c00e1ae0c5
c0e013e53d829511835e2b429abb5198731e9a3e

20

501
0664
file
foobar.html

参考来源
外部链接
*[http://code.google.com/p/xar/ Xar homepage]
*[https://opensource.apple.com/source/xar/ Apple xar homepage]

评论 (0)

  • 还没有评论,来抢沙发吧。