AppleSingle and AppleDouble formats

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.

AppleDouble leaves the data fork in its original format, allowing it to be edited by normal Unix utilities.

For sending to an AppleDouble un-aware system, the file was generally encoded using Base64, as opposed to being converted to AppleSingle.

Nevertheless, they did force various file compression vendors to add support for the formats, and confuse future MacBinary versions.

The macOS system provides a set of copyfile library functions that allows for packing and unpacking AppleSingle and AppleDouble files in C.[7]