ユニフォームタイプ識別子

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

ユニフォームタイプ識別子UTI )は、特定 のクラスまたはアイテムのタイプを一意に識別するためにAppleInc が提供するソフトウェアで使用されるテキスト文字列です。Appleは、一般的なシステムオブジェクト(ドキュメントまたはイメージファイルタイプ、フォルダとアプリケーションバンドル、ストリーミングデータ、クリッピングデータ、ムービーデータ)を識別するための組み込みUTIを提供し、サードパーティの開発者がアプリケーション固有または独自の用途のために独自のUTIを追加できるようにします。UTIのサポートがMacOS X 10.4オペレーティングシステムに追加され、 Spotlightに統合されましたUTIを使用してドキュメントを分類するデスクトップ検索テクノロジ。UTIの主な設計目標の1つは、ファイルのコンテンツをそのMIMEタイプファイル名拡張子、またはタイプまたは作成者コードから推測することに関連するあいまいさや問題を排除することでした。[1]

UTIは、逆引きDNS命名構造を使用します。名前には、ASCII文字A〜Z、a〜z、0〜9、ハイフン( "-")、ピリオド( "。")、およびU + 007Fより上のすべてのUnicode文字を含めることができます。[1] MacintoshおよびPOSIXファイルパスの規則との互換性のために、コロンとスラッシュは禁止されています。UTIは多重継承をサポートしているため、含まれているデータに応じて、関連する任意の数のタイプでファイルを識別できます。

背景

ユーザーがアクセスできるオペレーティングシステムを維持する上での困難の1つは、データ型と、そのようなデータを効果的に使用できるアプリケーションまたはプロセスとの間の接続を確立することです。たとえば、特定の圧縮形式の画像データを含むファイルは、画像データを処理できるアプリケーションでのみ開いて処理できます。これらのアプリケーションは、抽出して操作するために使用された圧縮タイプを識別できる必要があります。そのデータ。初期のコンピューターシステム(特にDOS、そのバリアント、およびWindowsの一部のバージョン)では、ファイルの関連付けはファイル拡張子によって維持されます。ファイル名に続く3〜4文字のコードは、特定のアプリケーションでファイルを開くようにシステムに指示します。

システム1以降、[2] Macintoshオペレーティングシステムには、ファイルメタデータの一部としてタイプコードクリエーターコードが添付されていますこれらの4文字のコードは、ファイルを作成したアプリケーション(作成者コード)とファイルの特定のタイプ(タイプコード)の両方を指定して、他のアプリケーションがファイルデータを簡単に開いて処理できるように設計されています。ただし、タイプコードと作成者コードによってシステムの柔軟性が拡張されましたが(特定のタイプのファイルは特定のアプリケーションで開くことに制限されていませんでした)、ファイル拡張子と同じ問題の多くが発生しました。ファイルがMacintosh以外のシステム(Unixベースのサーバーなど)間で転送されると、タイプコードと作成者コードが失われる可能性があり、タイプコードが多すぎると識別が問題になります。

さらに、従来のMac OSはファイル拡張子をまったく認識しなかったため、DOS / Windowsシステムからファイルを転送したときに認識されないファイルエラーが発生していました。Mac OS Xの基礎を形成したOPENSTEPは拡張機能を使用し、Mac OSXの初期バージョンもそれに続きました。これは、ファイル拡張子の継続的な使用を提唱するNeXTまたはWindowsオリジンからOS Xに来るユーザーと開発者、およびファイル拡張子をタイプとクリエーターで置き換えるか補足するようにAppleに促すClassic MacOSから来るユーザーと開発者との論争につながりました。[3]

他のファイル識別タイプが存在します。たとえば、MIMEタイプは、Webを介して転送されるデータを識別するために使用されます。ただし、AppleのUTIシステムは、データを階層的に記述し、より適切な分類と検索を可能にし、コンテキスト全体でデータ記述を標準化し、データ型を拡張する統一された方法を提供する柔軟なファイル関連付けシステムを作成するように設計されました。たとえば、public.jpegおよびpublic.pngUTIはpublic.imageから継承しますUTI。ユーザーは、検索で使用されるUTIの特異性を変更するだけで、JPEG画像やPNG画像を狭く検索したり、あらゆる種類の画像を広く検索したりできます。さらに、新しいデータ型を設計するアプリケーション開発者は、利用可能なUTIを簡単に拡張できます。たとえば、会社によって開発された新しい画像形式は、com.company.proprietary-imageのUTIを持ち、 public.imageタイプ から継承するように指定されている場合があります。

AppleのmacOSは引き続き他の形式のファイルの関連付けをサポートし、それらの間で変換するためのユーティリティが含まれていますが、利用可能な場合は優先的にUTIを使用します。

UTI構造

Appleは、public。*ドメインをすべてのUTIのセットベースデータ型として維持しています。他のUTIは、クラス継承と同様のシステムである適合性によって、これらのベースUTIに関連付けられます。他のUTIに準拠するUTIは基本的なタイプを共有し、一般に、より一般的なUTIのデータを処理するアプリケーションは、その一般的なUTIに準拠する任意のUTIのデータを処理できる必要があります。

AppleパブリックUTI

Apple階層の最も基本的なパブリックUTIは次のとおりです。

識別子 に準拠 コメント
public.item 物理階層の基本クラス
public.content すべてのドキュメントコンテンツの基本クラス
public.data public.item すべてのファイル、バイトストリーム、ペーストボードなどの基本クラス。
世間体 public.data、public.content すべての画像の基本クラス

UTIは、他のファイルタイプ識別子を識別するためにも使用されます。

識別子 に準拠 コメント
public.filename-拡張子 public.case-insensitive-text ファイル名拡張子
public.mime-type public.case-insensitive-text MIMEタイプ
com.apple.ostype public.text 4文字のコード(タイプOSType
com.apple.nspboard-type public.text NSPasteboardタイプ

動的UTIは、アプリケーションの必要に応じて作成できます。これらには接頭辞dynが付いています。そして、「他の点では未知のファイル名拡張子、MIMEタイプ、OSTypeなどのUTI互換ラッパー」の形式を取ります。[1]

サードパーティのUTI

Appleは、システムで宣言されたUniform TypeIdentifiersの大規模なコレクションを提供しています。サードパーティのアプリケーションは、アプリケーションパッケージ内で宣言されたUTIを「エクスポート」することにより、macOSによって維持されているデータベースにUTIを追加できます。新しいUTIは既存のシステムUTIに「準拠」するように宣言でき、宣言は新しいUTIをファイル拡張子に関連付けることができるため、エクスポートされた宣言だけで、新しい機能のクイックルックを有効にするなどの新しい機能を有効にするのに十分な情報をオペレーティングシステムに提供できます。ファイルタイプ。

一般的なサードパーティUTIのリスト

説明 UTI 拡張機能 に準拠 MIMEタイプ 参照URL
OPMLドキュメント org.opml.opml .opml public.xml text/xml, text/x-opml, application/xml http://dev.opml.org/spec2.html
マークダウンドキュメント net.daringfireball.markdown[4] .md, .markdown public.plain-text text/markdown https://daringfireball.net/projects/markdown/
SQLiteデータベース vnd.sqlite3[5] .sqlite3, .sqlite, .db public.database, public.data application/vnd.sqlite3 https://www.sqlite.org/fileformat2.html

UTIを検索する

特定のファイルのUTIを取得するには、ターミナルでmdls(メタデータリスト、Spotlightの一部)コマンドを使用します。

mdls -name kMDItemContentType -name kMDItemContentTypeTree -name kMDItemKind FILE

参考文献

  1. ^ a bc 「 UniformTypeIdentifiers の概要」ガイドとサンプルコードApple Inc. 2007年10月29日2016年9月12日取得
  2. ^ 「Folklore.org:大統一モデル(2)-ファインダー」www.folklore.org 2018年4月12日取得
  3. ^ 「MacOSX10.1ファイル名拡張子のガイドライン-Cocoabuilder」www.cocoabuilder.com 2018年4月12日取得
  4. ^ 「マークダウンのUniformTypeIdentifier」大胆な火の玉2019年8月21日取得
  5. ^ 「IANAでのSQLiteデータベースファイル形式のメディアタイプ」Internet Assigned NumbersAuthorityIANA 2019年8月21日取得