Jump to content

Единый идентификатор типа

Единый идентификатор типа ( UTI ) — это текстовая строка, используемая в программном обеспечении, предоставляемом Apple Inc., для уникальной идентификации данного класса или типа элемента. Apple предоставляет встроенные UTI для идентификации общих системных объектов — типов файлов документов или изображений, папок и пакетов приложений, потоковых данных, данных обрезки, данных фильмов — и позволяет сторонним разработчикам добавлять свои собственные UTI для использования в конкретных приложениях или для использования в собственных целях. Поддержка UTI была добавлена ​​в операционную систему Mac OS X 10.4 , интегрированную в технологию поиска на рабочем столе Spotlight , которая использует UTI для категоризации документов. Одной из основных целей разработки UTI было устранение двусмысленностей и проблем, связанных с определением содержимого файла по его MIME-типу , расширению имени файла или типу или коду создателя . [1]

UTI используют структуру именования обратного DNS . Имена могут включать символы ASCII A–Z, a–z, 0–9, дефис («-») и точку («.), а также все символы Юникода выше U + 007F. [1] Двоеточия и косая черта запрещены для совместимости с соглашениями о пути к файлам Macintosh и POSIX . UTI поддерживают множественное наследование , позволяя идентифицировать файлы с любым количеством соответствующих типов в зависимости от содержащихся данных. ИМП не чувствительны к регистру. [2]

Одной из трудностей в поддержке доступной для пользователя операционной системы является установление связей между типами данных и приложениями или процессами, которые могут эффективно использовать такие данные. Например, файл, содержащий данные изображения в определенном формате сжатия, можно открыть и обработать только в приложениях, способных обрабатывать данные изображения, и эти приложения должны иметь возможность определять, какой тип сжатия использовался для извлечения и работы с данными изображения. эти данные. В ранних компьютерных системах, особенно в DOS , ее вариантах и ​​некоторых версиях Windows , ассоциации файлов поддерживаются расширениями файлов . Код из трех-четырех символов, следующий за именем файла, указывает системе открыть файл в определенных приложениях.

Начиная с Системы 1 , [3] В операционных системах Macintosh файлов прикреплены коды типов и коды создателей к метаданным . Эти четырехсимвольные коды были разработаны для указания как приложения, создавшего файл (код создателя), так и конкретного типа файла (код типа), чтобы другие приложения могли легко открывать и обрабатывать данные файла. Однако, хотя коды типа и создателя расширяли гибкость системы (открытие определенного типа файла не было ограничено в конкретном приложении), они столкнулись со многими из тех же проблем, что и расширения файлов. Коды типа и создателя могли быть потеряны при передаче файлов через системы, отличные от Macintosh (например, серверы на базе Unix), а множество кодов типов затрудняло идентификацию.

Кроме того, классическая Mac OS вообще не распознавала расширения файлов, что приводило к нераспознаваемым ошибкам файлов при переносе файлов из систем DOS/Windows. OPENSTEP , легший в основу Mac OS X, использовал расширения, и ранние версии Mac OS X последовали этому примеру. Это привело к некоторым разногласиям: пользователи и разработчики, перешедшие на OS X из NeXT или Windows, выступали за продолжение использования расширений файлов, а те, кто пришел из классической Mac OS, призывали Apple заменить или дополнить расширения файлов типом и создателями. [4]

Существуют и другие типы идентификации файлов: например, типы MIME используются для идентификации данных, передаваемых через Интернет. Однако система UTI Apple была разработана для создания гибкой системы ассоциации файлов, которая описывала бы данные иерархически, позволяла бы лучше категоризировать и искать, стандартизировать описания данных в разных контекстах и ​​обеспечивать единый метод расширения типов данных. Например, UTI public.jpeg и public.png наследуются от UTI public.image , что позволяет пользователям осуществлять узкий поиск изображений JPEG или изображений PNG или широкий поиск изображений любого типа, просто изменяя специфику UTI, используемого при поиске. . Кроме того, разработчики приложений, разрабатывающие новые типы данных, могут легко расширить доступные UTI. Например, новый формат изображения, разработанный компанией, может иметь UTI com.company.proprietary-image и быть указан для наследования от типа public.image .

от Apple MacOS продолжает поддерживать другие формы ассоциации файлов и содержит утилиты для перевода между ними, но по возможности будет использовать UTI.

Структура ИМП

[ редактировать ]

Apple поддерживает public.* как набор базовых типов данных для всех UTI. Другие UTI связаны с этими базовыми UTI посредством соответствия — системы, аналогичной наследованию классов. UTI, которые соответствуют другим UTI, имеют общие базовые типы, и в целом любое приложение, которое работает с данными более общего UTI, должно иметь возможность работать с данными любого UTI, соответствующего этому общему UTI.

Публичные ИМП Apple

[ редактировать ]

Наиболее основные общедоступные UTI в иерархии Apple следующие:

Идентификатор Соответствует Комментарий
public.item базовый класс в физической иерархии
public.content базовый класс для всего содержимого документа
public.data public.item базовый класс для всех файлов, потоков байтов, монтажного стола и т. д.
public.image публичные.данные, публичный.контент базовый класс для всех изображений

UTI даже используются для идентификации других идентификаторов типов файлов:

Идентификатор Соответствует Комментарий
public.filename-расширение public.case-insensitivity-text Расширение имени файла
public.mime-тип public.case-insensitivity-text MIME-тип
com.apple.ostype public.text Четырехзначный код (тип OSType )
com.apple.nspboard-тип public.text картона NSP Тип

Динамические UTI могут создаваться приложениями по мере необходимости; у них есть префикс дин. и принять форму «UTI-совместимой оболочки вокруг неизвестного в противном случае расширения имени файла, типа MIME, OSType и т. д.». [1]

Сторонние ИМП

[ редактировать ]

Apple предоставляет большую коллекцию объявленных системой унифицированных идентификаторов типов . Сторонние приложения могут добавлять UTI в базу данных, поддерживаемую macOS, «экспортируя» UTI, объявленные в пакете приложения. Поскольку новые UTI могут быть объявлены как «соответствующие» существующим системным UTI, а объявления могут связывать новые UTI с расширениями файлов, экспортированное объявление само по себе может предоставить операционной системе достаточно информации для включения новых функций, таких как включение быстрого поиска новых типы файлов.

Список распространенных ИМП третьих лиц

[ редактировать ]
Описание ИМВП Расширения Соответствует MIME-типы URL-адрес ссылки
ОПМЛ- документ org.opml.opml.opmlpublic.xmltext/xml, text/x-opml, application/xmlhttp://dev.opml.org/spec2.html
уценки Документ net.daringfireball.markdown[5] .md, .markdownpublic.plain-texttext/markdownhttps://daringfireball.net/projects/markdown/
SQLite База данных vnd.sqlite3[6] .sqlite3, .sqlite, .dbpublic.database, public.dataapplication/vnd.sqlite3https://www.sqlite.org/fileformat2.html
Документ путей POSIX cc.utis.paths-file.pathspublic.utf8-plain-textне определено https://github.com/utiscc/DotPathsFileSpec
Типы картонов org.nspasteboard.TransientType, org.nspasteboard.ConcealedType, org.nspasteboard.AutoGeneratedType, org.nspasteboard.sourceне тип файла Н/Д Н/Д http://nspasteboard.org

Поиск ИМП

[ редактировать ]

Чтобы получить UTI данного файла, используйте команду mdls (список метаданных, часть Spotlight ) в Терминале .

mdls -name kMDItemContentType -name kMDItemContentTypeTree -name kMDItemKind FILE

  1. ^ Перейти обратно: а б с «Обзор унифицированных идентификаторов типов» . Руководства и пример кода . Apple Inc. , 29 октября 2007 г. Проверено 12 сентября 2016 г.
  2. ^ «Унифицированные идентификаторы типов — повторное введение — Tech Talks — Видео» . Разработчик Apple . Проверено 17 мая 2022 г.
  3. ^ «Folklore.org: Модель Великого Объединения (2) – Искатель» . www.folklore.org . Проверено 12 апреля 2018 г.
  4. ^ «Рекомендации по расширению имени файла в Mac OS X 10.1 — Cocoabuilder» . www.cocoabuilder.com . Проверено 12 апреля 2018 г.
  5. ^ «Единый идентификатор типа для уценки» . Дерзкий огненный шар . Проверено 21 августа 2019 г.
  6. ^ «Тип носителя формата файла базы данных SQLite в IANA» . Управление по присвоению номеров в Интернете . ИАНА . Проверено 21 августа 2019 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f2aa1a403a7d939d5528760047ed80be__1706262960
URL1:https://arc.ask3.ru/arc/aa/f2/be/f2aa1a403a7d939d5528760047ed80be.html
Заголовок, (Title) документа по адресу, URL1:
Uniform Type Identifier - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)