支持多个文件分支或流的存档/压缩格式或工具?

支持多个文件分支或流的存档/压缩格式或工具?

最近,我开始对几种文件系统的功能感兴趣,包括 Apple 的 HFS+ 和 Microsoft 的 NTFS,它们支持两个或更多数据流。

  • 在 Mac 术语中,这些在 OS X 之前最广为人知的是单独的数据和资源叉子。我相信现代 HFS+ 可以拥有两个以上的分支。
  • 在 NTFS 中,它们通常被称为备用数据流要不就广告

我想知道哪些(如果有的话)存档/压缩格式和/或工具支持使用上述功能从两个或多个分支或流的文件创建单个压缩文件。

我知道 Mac System 7 中有一些,例如 MacBinary 和 BinHex,但我想知道当前一代格式和工具(例如 zip、gzip、bzip2、7zip 或任何鲜为人知的格式和工具)是否有这样的支持。

我更喜欢开源、跨平台、开放标准,但任何东西都很有趣。

答案1

我找到了一个选择:开源7-zip(至少 16.04)可以创建“.wim”档案,包括对备用数据流的支持。GUI 中有一个“存储备用数据流”复选框,-sfsCLI 中有一个标志。可惜这些都没有压缩。

“.wim”文件格式有很详尽的记录。

我的建议是坚持使用 Windows 2000 Advanced Server 使用的命名约定,它具有对 Apple 文件协议的可选支持,并且映射

  • 传统的 MacOS 文件信息存储到 60 个八位字节的AFP_AfpInfoADS 中,例如
    41 46 50 00 00 00 01 00 00 00 00 00 00 00 00 80 法新社
    72 6F 68 64 64 64 73 6B 01 00 FF FF FF FF 00 00 rohdddsk
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    E0 D8 D8 AF AE 7F 00 00 3F DE D5 95
    
  • 传统的 MacOS 资源分叉到AFP_ResourceADS;这是资源分叉八位字节的直接转储,通常以其开头,00 00 01 00即资源分叉的大端格式的 32 位偏移量。
  • 传统的 MacOS 文件注释到CommentsADS(每个 ASCII 字符都以其 ASCII 码后跟 00 的形式出现,即 UTF-16 小端字节序;我不知道 Maintosh 特殊字符的映射)

例如,如 Sysinternals 的流实用程序所示:

R:\macdev\UniversalInterfaces3.4.1b3.img:
     :AFP_AfpInfo:$DATA 60
    :AFP_资源:$DATA 3565
        :评论:$DATA 238

我最近尝试发布一个问题要求在那首曲子上添加一些压缩效果;但(可以理解的是)被搁置了。

相关内容