AppleSingle and AppleDouble formats
{{original research|date=April 2010}}
AppleSingle Format and AppleDouble Format are file formats developed by Apple Computer to store Mac OS "dual-forked" files on the Unix filesystem being used in A/UX, the Macintosh platform's first Unix-like operating system. AppleSingle combined both file forks and the related Finder meta-file information into a single file, whereas AppleDouble stored them as two separate files. Support for the formats was later added to Unix software such as NFS and MAE, but they saw little use outside this small market.
AppleSingle is similar in concept to the more popular MacBinary format, in that the resource and data forks are combined with a header containing the Finder information. In fact, the format is so similar, it seemed there was no reason why Apple did not simply use MacBinary instead, which by that point was widely known and used. Some not-so-obvious reasons are explained in an Internet Draft.{{Cite web |last=C. Newman |date=July 1996 |title=MacBinary and Binhex 4.0 considered harmful |url=http://tools.ietf.org/html/draft-newman-macbin-binhex-harmful-00 |url-status=dead |archive-url=https://web.archive.org/web/20210226065142/http://tools.ietf.org/html/draft-newman-macbin-binhex-harmful-00 |archive-date=2021-02-26 |website=IETF}} The format was later assigned the MIME type {{mono|application/applefile}}.
AppleDouble leaves the data fork in its original format, allowing it to be edited by normal Unix utilities. The resource fork and Finder information, both proprietary and lacking editors under Unix, were combined into a second file. A MIME type was also assigned to AppleDouble, {{mono|multipart/appledouble}}. For sending to an AppleDouble un-aware system, the file was generally encoded using Base64, as opposed to being converted to AppleSingle.
Usage
Before Mac OS X, AppleSingle and Double had little presence in the Mac market, due largely to the small market share of A/UX. Nevertheless, they did force various file compression vendors to add support for the formats, and confuse future MacBinary versions.
Mac OS X revived the use of AppleDouble; on file systems such as NFS and WebDAV that do not natively support resource forks, Finder information, or extended attributes, that information is stored in AppleDouble format, with the second file having a name generated by prepending "._" to the name of the first file (thus, this information acts as a hidden file when viewed from a non-Apple Unix-based operating system). The files are sometimes moved to a separate directory called {{code|.AppleDouble}}. Metadata separation is also done in the OS X 10.3+ Finder Zip compression and the command line {{code|ditto}} utility, with a copy of the AppleDouble metadata stored in a {{code|__MACOSX}} directory.{{man|1|ditto|Darwin}}
Manipulation
Unwanted "._" files can be removed using dot_clean -m
on Mac OS X. Doing so also merges AppleDouble metadata with the corresponding files.{{man|1|dot_clean|Darwin}} AppleDouble files can be manually created through creative abuse of {{code|ditto}} (which is AppleDouble-aware) and {{code|unzip}} (which is not).{{Cite web |title=terminal - How to convert a file with extended attributes to AppleDouble format? |url=https://apple.stackexchange.com/questions/345855/how-to-convert-a-file-with-extended-attributes-to-appledouble-format |access-date=2021-09-12 |website=Stack Exchange}}
On other systems, the {{code|ad}} command{{man|1|ad|ManKier}} and a Perl script called {{code|apple_dump}}{{man|1|apple_dump|ManKier}} can be used to view AppleDouble data. Both are part of Netatalk.
The macOS system provides a set of {{code|copyfile}} library functions that allows for packing and unpacking AppleSingle and AppleDouble files in C.{{man|3|copyfile|Darwin}}
References
External links
- [https://web.archive.org/web/20180311140826/http://kaiser-edv.de/documents/AppleSingle_AppleDouble.pdf AppleSingle and AppleDouble format internals] – from the original A/UX documentation
- [https://www.rfc-editor.org/rfc/rfc1740.txt RFC 1740 - MIME Encapsulation of Macintosh files] – documents AppleSingle/Double in appendixes
- [http://sourceforge.net/projects/macbinconv Mac Binary Converter], an open source tool for converting between different Macintosh file encodings.
- [https://metacpan.org/module/Mac::AppleSingleDouble Mac::AppleSingleDouble], a Perl module for reading AppleSingle and AppleDouble files
- [https://web.archive.org/web/20120602061209/http://support.apple.com/kb/TA20578 Mac OS X: Apple Double Format Creates File Name With the Prefix '._'], Apple Inc. knowledgebase note about the AppleDouble format