Einheitliche Kennung

EIN Einheitliche Kennung (UTI) ist eine Textzeichenfolge, die für Software verwendet wird, die von zur Verfügung gestellt wird Apple Inc. Um eine bestimmte Klasse oder Art des Elements eindeutig zu identifizieren. Apple bietet integrierte UTIs, um allgemeine Systemobjekte zu identifizieren-Dokument- oder Bild-Dateitypen, Ordner und Anwendungsbündel, Streamingdaten, Ausschnitten von Daten und Filmdaten-und ermöglicht es Entwicklern von Drittanbietern, ihre eigenen UTIs für anwendungsspezifische oder proprietäre Verwendungen hinzuzufügen. Die Unterstützung für UTIs wurde in die hinzugefügt Mac OS X 10.4 Betriebssystem, in die integriert in die Scheinwerfer Desktop -Suchtechnologie, die UTIs verwendet, um Dokumente zu kategorisieren. Eines der primären Designziele von UTIs bestand darin, die Unklarheiten und Probleme zu beseitigen, die mit dem Abschluss des Inhalts einer Datei aus seiner Datei verbunden sind Mime Typ, Dateiname Erweiterung, oder Typ oder Erstellercode.[1]

Utis verwenden a Reverse-DNS Benennungsstruktur. Namen können die enthalten ASCII Charaktere A-Z, A-Z, 0–9, Bindestrich ("-") und Periode (".") Und alles Unicode Zeichen über u+007f.[1] Kolons und Schrägstriche sind für die Kompatibilität mit Macintosh und untersagt Posix Dateipfadkonventionen. UTIS -Unterstützung Mehrfacherbeund ermöglichen, dass Dateien mit einer beliebigen Anzahl relevanter Typen identifiziert werden, je nachdem, dass die enthaltenen Daten angemessen sind. UTIs sind unempfindlich.[2]

Hintergrund

Eine der Schwierigkeiten bei der Aufrechterhaltung eines Benutzer-zugänglichen Betriebssystem Erstellt Verbindungen zwischen Datentypen und Anwendungen oder Prozessen, die solche Daten effektiv verwenden können. Beispielsweise kann eine Datei, die Bilddaten in einem bestimmten Komprimierungsformat enthält diese Daten. In frühen Computersystemen - besonders DOS, seine Varianten und einige Versionen von Fenster - Dateiverbände werden von verwaltet Dateierweiterungen. Der drei bis vier Zeichencode, der einem Dateinamen folgt, weist das System an, die Datei in bestimmten Anwendungen zu öffnen.

Mit ... anfangen System 1,[3] Macintosh Betriebssysteme haben angebracht Typ Codes und Schöpfercodes als Teil der Datei Metadaten. Diese Vier-Charakter-Codes wurden so konzipiert, dass sie sowohl die Anwendung, die die Datei (den Erstellercode) als auch den spezifischen Typ der Datei (den Typ Code) erstellt hat, angeben, damit andere Anwendungen die Dateidaten problemlos öffnen und verarbeiten können. Während Typ- und Erstellungscodes die Flexibilität des Systems - eine bestimmte Art von Datei, nicht auf das Öffnen in einer bestimmten Anwendung ausgeweitet wurden - litten sie viele der gleichen Probleme wie Dateierweiterungen. Typ- und Erstellungscodes können verloren gehen, wenn Dateien auf nicht-macintosh-Systeme (wie Unix-basierte Server) übertragen wurden, und die Fülle der Typcodes machte die Identifizierung problematisch.

zusätzlich Klassischer Mac OS Es wurde überhaupt keine Dateierweiterungen erkannt, was zu nicht erkannten Dateifehlern führte, wenn Dateien von DOS/Windows -Systemen übertragen wurden. OpenStep, die die Grundlage von Mac OS X bildeten, Erweiterungen verwendeten und frühe Versionen von Mac OS X folgten. Dies führte dazu, dass Benutzer und Entwickler von Nächsten oder Windows Origins zu OS X kamen oder sich für die fortgesetzte Verwendung von Dateierweiterungen einsetzten, und diejenigen, die von klassischem Mac OS stammen und Apple auffordern, Dateierweiterungen durch Typ und Ersteller zu ersetzen oder zu ergänzen.[4]

Weitere Dateiidentifikationstypen vorhanden: Beispielsweise werden MIME -Typen zum Identifizieren von Daten verwendet, die über das Web übertragen werden. Das UTI -System von Apple wurde jedoch entwickelt, um ein flexibles Datei -Association -System zu erstellen, das Daten hierarchisch beschreibt und eine bessere Kategorisierung und Suchen ermöglicht, Datenbeschreibungen über Kontexte hinweg standardisiert und eine einheitliche Methode zur Erweiterung von Datentypen bereitstellt. Zum Beispiel die public.jpeg und public.png Utis erben aus dem öffentliches Bild UTI, damit Benutzer nur knapp nach JPEG -Bildern oder PNG -Bildern suchen können oder im Großen und Ganzen nach irgendeiner Art von Bild nur durch Ändern der Spezifität der in der Suche verwendeten UTI. Darüber hinaus können Anwendungsentwickler, die neue Datentypen entwerfen, die verfügbaren UTIs problemlos erweitern. Zum Beispiel kann ein neues Bildformat, das von einem Unternehmen entwickelt wurde com.company.Proprietary-Image und spezifiziert werden, um von der zu erben öffentliches Bild Typ.

Äpfel Mac OS Unterstützt weiterhin andere Formen der Dateivereinigung und enthält Dienstprogramme für die Übersetzung zwischen ihnen, verwendet jedoch UTIs, sofern verfügbar.

UTI -Struktur

Apple unterhält die Öffentlichkeit.* Domäne als festgelegte Basisdatentypen für alle UTIs. Andere UTIs sind mit diesen Basis -UTIs von assoziiert Konformität, ein System ähnlich der Klassenvererbung. UTIs, die anderen UTIs entsprechen, teilen sich grundlegende Typen, und im Allgemeinen sollte jede Anwendung, die mit Daten einer allgemeineren UTI funktioniert, in der Lage sein, mit Daten von UTIs zu arbeiten, die dieser allgemeinen UTI entsprechen.

Apple Public Utis

Die grundlegendsten öffentlichen UTIs in der Apple -Hierarchie sind wie folgt:

Kennung Entspricht Kommentar
public.item Basisklasse in der physischen Hierarchie
public.content Basisklasse für alle Dokumentinhalte
public.data public.item Basisklasse für alle Dateien, Byte -Streams, Pasteboard usw.
öffentliches Bild public.data, public.content Basisklasse für alle Bilder

UTIs werden sogar verwendet, um andere Dateitypkennungen zu identifizieren:

Kennung Entspricht Kommentar
public.fileName-Extension public.case-unempfindlich-Text Dateiname Erweiterung
public.mime-Typ public.case-unempfindlich-Text Mime Typ
com.apple.ostype public.text Vier-Charakter-Code (Typtyp Ostype))
com.apple.nspboard-Typ public.text Nspasteboard -Typ

Dynamische UTIs können nach Bedarf durch Anwendungen erstellt werden. Diese haben das Präfix Dyn. und nehmen Sie die Form einer "UTI-kompatiblen Wrapper um eine ansonsten unbekannte Dateiname-Erweiterung, MIME-Typ, Ostype usw.".[1]

Utis von Drittanbietern

Apple bietet eine große Sammlung von systemdeklarierte einheitliche Typidentifikatoren. Anwendungen von Drittanbietern können der von macOS verwalteten Datenbank UTIs hinzufügen, indem sie in das Anwendungspaket deklariert "UTIs" exportiert ". Da neue UTIs so deklariert werden können, dass sie vorhandenen System -UTIs "entsprechen" und Erklärungen die neuen UTIs mit Dateierweiterungen in Verbindung bringen können Schneller Blick Für neue Dateitypen.

Liste der üblichen UTIs von Drittanbietern

Beschreibung UTI Erweiterungen Entspricht MIME types Referenz -URL
Opml dokumentieren org.opml.opml .OPML public.xml Text/XML, Text/X-OPML, Anwendung/XML http://dev.opml.org/spec2.html
Markdown dokumentieren net.daringfireball.markdown[5] .md, .markdown public.plain-text Text/Markdown https://daringfireball.net/projects/markdown/
Sqlite Datenbank vnd.sqlite3[6] .sqlite3, .sqlite, .db public.database, public.data Anwendung/vnd.sqlite3 https://www.sqlite.org/fileformat2.html
POSIX -Pfaddokument CC.utis.Paths-Datei .Paths public.utf8-plain-text nicht definiert https://github.com/utiscc/dotpathsFilespec
Papptypen org.nspasteboard.transientType, org.nspasteboard.concealedType, org.nspasteboard.autogenerattype, org.nspasteboard.source Kein Dateityp N / A N / A http://nspasteboard.org

Auf einer UTI nachschlagen

Verwenden Sie die UTI einer bestimmten Datei, um die mdls (Meta -Datenliste, Teil von Scheinwerfer) Befehl in der Terminal.

mdls -name kMDItemContentType -name kMDItemContentTypeTree -name kMDItemKind FILE

Verweise

  1. ^ a b c "Überblick über einheitliche Typidentifikatoren". Anleitungen und Beispielcode. Apple Inc. 29. Oktober 2007. Abgerufen 12. September, 2016.
  2. ^ "Uniformtyp -Kennungen - Eine Wiedereinführung - Tech -Gespräche - Videos". Apple -Entwickler. Abgerufen 17. Mai, 2022.
  3. ^ "Folklore.org: Das Grand Unified Model (2) - Der Finder". www.folklore.org. Abgerufen 12. April, 2018.
  4. ^ "Mac OS X 10.1 Dateiname Erweiterungsrichtlinien - Cocoabuilder". www.cocoabuilder.com. Abgerufen 12. April, 2018.
  5. ^ "Einheitlicher Typ -Kennung für Markdown". Wagemutbrand. Abgerufen 21. August, 2019.
  6. ^ "SQLite -Datenbankdatei -Medientyp bei Iana". Internet zugewiesene Zahlen Autorität. Iana. Abgerufen 21. August, 2019.