Введение

AppleSingle Format и AppleDouble Format – это форматы файлов, разработанные компанией Apple Computer для хранения файлов Mac OS с "двойной структурой" (dual forked) в файловой системе Unix, используемой в A/UX – первой Unix-подобной операционной системе для платформы Macintosh. AppleSingle объединял оба форка файла и связанную с ними метаинформацию Finder в один файл, в то время как AppleDouble хранил их в виде двух отдельных файлов. Позже поддержка этих форматов была добавлена в программное обеспечение Unix, такое как NFS и MAE, однако они получили ограниченное распространение за пределами этого небольшого сегмента рынка. AppleSingle концептуально схож с более популярным форматом MacBinary, поскольку ресурсный и data-форки объединяются с заголовком, содержащим информацию Finder. Фактически, формат настолько похож, что возникал вопрос, почему Apple просто не использовала MacBinary, который к тому времени был широко известен и применялся. Некоторые неочевидные причины объясняются в черновике интернет-стандарта. Формату впоследствии был присвоен MIME-тип. AppleDouble сохраняет data-форк в его исходном формате, что позволяет редактировать его стандартными утилитами Unix. Ресурсный форк и информация Finder, будучи проприетарными и не имеющими редакторов под Unix, объединялись во второй файл. AppleDouble также был назначен MIME-тип. Для отправки файла в систему, не поддерживающую AppleDouble, он обычно кодировался с использованием Base64, а не конвертировался в AppleSingle.

Использование

До Mac OS X форматы AppleSingle и Double были мало распространены на рынке Mac, главным образом из-за небольшой доли рынка A/UX. Тем не менее, они вынудили различных производителей программ для сжатия файлов добавить поддержку этих форматов и внесли путаницу в будущие версии MacBinary. Mac OS X возродила использование AppleDouble; на файловых системах, таких как NFS и WebDAV, которые не поддерживают ресурсные вилки, информацию Finder или расширенные атрибуты, эта информация хранится в формате AppleDouble, а второй файл получает имя, образованное добавлением точки и пробела (". ") к имени первого файла (в результате, эта информация воспринимается как скрытый файл в операционных системах, не основанных на Apple Unix). Иногда эти файлы перемещаются в отдельную папку. Разделение метаданных также применяется в Finder OS X 10.3+ при сжатии Zip и в утилите командной строки, где копия метаданных AppleDouble хранится в отдельной папке.

Манипуляция

Нежелательные файлы ". _" можно удалить с помощью команды `dot clean m` в Mac OS X. Это также объединяет метаданные AppleDouble с соответствующими файлами. Файлы AppleDouble можно создавать вручную, используя (с учетом AppleDouble) и (без учета AppleDouble). В других системах для просмотра данных AppleDouble можно использовать команду `ls -lO` и Perl-скрипт `appleutil`. Оба являются частью Netatalk. Система macOS предоставляет набор библиотечных функций для упаковки и распаковки файлов AppleSingle и AppleDouble на языке C.