AppleDouble

From Just Solve the File Format Problem
Jump to: navigation, search
File Format
Name AppleDouble
Ontology
Extension(s) .adf, .rsrc, others/special
MIME Type(s) multipart/appledouble
PRONOM fmt/966, fmt/503
Kaitai Struct Spec apple_single_double.ksy
Released 1990

AppleDouble is one of the systems used to store the Resource Fork of Macintosh files on filesystems not natively supporting it, something which became necessary when Apple moved to Unix-based operating systems instead of "classic" MacOS. AppleSingle is an alternative format to accomplish the same end, combining all the forks plus a metadata header in one file instead of keeping separate files like AppleDouble. While both AppleSingle and AppleDouble were introduced for use with early Unix-based Apple systems, AppleDouble survived as the main method of storing files with resource forks on OS X systems if a filesystem is used that doesn't directly support such forks.

Contents

File naming

The AppleDouble format keeps the data fork of the file in its original format and filename (this is the main file, as used by non-Mac operating systems, and for many file formats, the only one that matters), and creates a second "header" file with the resource fork as well as Finder metadata.

The specification says that the header filename should be prefixed with a "%", or prefixed with "R.", or have a file extension of ".ADF", depending on the filesystem's capabilities.

However, in the OS X era, the convention is to prefix the header filename with "._" (a dot and an underscore).

One of The Unarchiver's options is to use an extension of ".rsrc".

Sometimes, instead of using a different filename, the header files are put in special subdirectories named ".AppleDouble".

The Finder's "Archive as..." functionality puts them in subdirectories named __MACOSX.

Identification

AppleDouble header files begin with signature bytes (hex) 00 05 16 07.

Specifications

Metaformat files

Utilities

Other links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox