Формат очень похож на псевдоним, который можно создать в Finder, щелкнув правой кнопкой мыши элемент и создав псевдоним для него.
В сторону: когда формат QuickTime был изначально указан, Apple разумно решила включить ряд других стандартов и парадигм, которые уже широко используются в других операционных системах. Это одна из причин, почему QT (или смог) сделать действительно умные вещи, такие как эталонные фильмы. К сожалению, теперь есть еще много лишних функций ОС, которые больше не актуальны (например, AppleShare). В свое время QuickTime был гладким , особенно по сравнению с его конкурентами; сегодня он значительно недооценен из-за глючного порта Windows и относительно низкой вычислительной мощности настольных систем своего времени.
Вернемся к теме, к сожалению, формат для файлов псевдонимов не является открытым / опубликованным стандартом, и в сети очень мало документации по этой теме. Есть один действительно старый документ , который деконструирует формат псевдонимов, используемый в Mac OS Classic. Хотя структура, используемая в OS X, очень похожа, сами файлы псевдонимов имеют тенденцию быть намного больше, так как они содержат многочисленные дополнительные строки данных в конце файла, которые не описаны в вышеупомянутой документации.
Кроме того, псевдонимы, созданные в искателе do , выглядят немного иначе, чем псевдонимы, содержащиеся в атоме dref, хотя я никогда не просматривал их побитно, чтобы определить реальные различия. Если вы хотите взглянуть на эти файлы и установить OS X Developer Tools, вы можете запустить
setfile -a a [filename]
в псевдониме, созданном Finder, чтобы лишить файл его псевдонима, чтобы вы могли просматривать его содержимое в шестнадцатеричном редакторе (в противном случае ОС просто перенаправит вас на связанный файл - дох!). Вы можете переустановить атрибут псевдонима файла или произвольно назначить любой файл псевдонимом, запустив
setfile -a A [filename]
К сожалению, во время моих экспериментов сброс alis
части атома dref
фильма QT никогда не создавал псевдоним, который Mac OS мог интерпретировать.
К счастью (или нет, как это было в моем случае), функции, которые якобы использует Mac OS для создания / обработки псевдонимов, являются частью общедоступного API, называемого Alias Manager , который является частью платформа CoreServices очень низкого уровня. Если у вас есть время углубиться в это, вы можете написать некоторый код, чтобы поэкспериментировать со встроенными в Mac OS возможностями генерации и интерпретации псевдонимов.
К сожалению, если вы имеете дело со старым / ошибочным файлом, у вас нет возможности узнать, был ли файл фактически сгенерирован с помощью Alias Manager из CoreServices, или с тех пор эта среда изменилась / эволюционировала / регрессировала. Поскольку это закрытый формат, сторонние разработчики, которые предпочитают не использовать Alias Manager, могут только догадываться о «юридической» структуре формата.