AppleDouble

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Other links)
(add details from ForensicsWiki entry)
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{FormatInfo
 
{{FormatInfo
 
|formattype=electronic
 
|formattype=electronic
|subcat=Filesystem
+
|subcat=Archiving
 +
|extensions={{ext|adf}}, {{ext|rsrc}}, others/special
 
|mimetypes={{mimetype|multipart/appledouble}}
 
|mimetypes={{mimetype|multipart/appledouble}}
 +
|pronom={{PRONOM|fmt/966}}, {{PRONOM|fmt/503}}
 +
|kaitai struct=apple_single_double
 +
|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.
 
[[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.
  
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 file with the resource fork as well as Finder metadata. The second file has the filename of the main file with "._" (a dot and an underscore) preceding it. If it was encoded for transmission, [[Base64]] was generally used.
+
== 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 information|Finder metadata]].
  
== Format detail links ==
+
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.
* [http://kaiser-edv.de/documents/AppleSingle_AppleDouble.pdf File format details]
+
 
 +
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 <code>__MACOSX</code>.
 +
 
 +
== Identification ==
 +
AppleDouble header files begin with signature bytes (hex) {{magic|00 05 16 07}}.
 +
 
 +
== Specifications ==
 +
* [http://kaiser-edv.de/documents/AppleSingle_AppleDouble.pdf AppleSingle/AppleDouble Developer’s Note] - Version 2
 +
* [http://kaiser-edv.de/documents/Applesingle_AppleDouble_v1.html AppleSingle and AppleDouble format internals] · [http://kaiser-edv.de/documents/AppleSingle_AppleDouble_v1.pdf PDF] - Version 1
 +
* [https://archive.org/details/bitsavers_applemacauoolboxMacintoshROMInterface1990_9531329/page/n125 A/UX Toolbox: Macintosh ROM Interface], p. 6-15: AppleSingle and AppleDouble format internals - Version 1 ([https://web.archive.org/web/20190427230049/http://users.phg-online.de/tk/netatalk/doc/Apple/v1/ another copy])
 
* RFC 1740 (describes various Mac-specific formats)
 
* RFC 1740 (describes various Mac-specific formats)
 +
* [https://kazakov.life/2013/10/31/extracting-extended-attributes-from-apple-double-format/ Extracting extended attributes from Apple Double format]
  
 
== Metaformat files ==
 
== Metaformat files ==
* [https://www.synalysis.net/Grammars/urf.grammar Synalysis grammar file] (for Hexinator / Synalize It!; [[Synalysis grammar file|more details]])
+
* {{Synalysis|appledouble}}
  
 
== Utilities ==
 
== Utilities ==
* [http://sourceforge.net/projects/macbinconv/ Mac Binary Converter]
+
* [https://sourceforge.net/projects/macbinconv/ Mac Binary Converter]
 
* [https://metacpan.org/pod/Mac::AppleSingleDouble Mac::AppleSingleDouble Perl library]
 
* [https://metacpan.org/pod/Mac::AppleSingleDouble Mac::AppleSingleDouble Perl library]
  
 
== Other links ==
 
== Other links ==
 
* [[Wikipedia:AppleSingle and AppleDouble formats|Wikipedia article]]
 
* [[Wikipedia:AppleSingle and AppleDouble formats|Wikipedia article]]
* [http://www.forensicswiki.org/wiki/AppleDouble_header_file Forensics Wiki article]
+
* [https://www.forensicswiki.org/wiki/AppleDouble_header_file Forensics Wiki article]
* [http://tools.ietf.org/html/draft-newman-macbin-binhex-harmful-00 MacBinary and Binhex 4.0 considered harmful]
+
* [https://tools.ietf.org/html/draft-newman-macbin-binhex-harmful-00 MacBinary and Binhex 4.0 considered harmful]
* [http://web.archive.org/web/20120602061209/http://support.apple.com/kb/TA20578 Apple KnowledgeBase notes about AppleDouble]
+
* [https://web.archive.org/web/20120602061209/http://support.apple.com/kb/TA20578 Apple KnowledgeBase notes about AppleDouble] (from archive.org)
* [http://kaiser-edv.de/documents/AppleSingle_AppleDouble.pdf AppleSingle/AppleDouble Formats for Foreign Files Developer’s Note]
+
* [https://web.archive.org/web/20190427230049/http://forensicswiki.org/wiki/AppleDouble_header_file ForensicsWiki entry]
  
 
[[Category:Macintosh]]
 
[[Category:Macintosh]]
 +
[[Category:Filesystem]]
 +
[[Category:Multi-file formats]]

Revision as of 23:19, 25 October 2020

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