stringtranslate.com

Identificador de tipo uniforme

Un Identificador de tipo uniforme ( UTI ) es una cadena de texto utilizada en el software proporcionado por Apple Inc. para identificar de forma única una clase o tipo de artículo determinado. Apple proporciona UTI integradas para identificar objetos comunes del sistema (tipos de archivos de documentos o imágenes, carpetas y paquetes de aplicaciones, datos de transmisión, datos de recortes, datos de películas) y permite a desarrolladores externos agregar sus propias UTI para usos propietarios o específicos de aplicaciones. Se agregó soporte para ITU en el sistema operativo Mac OS X 10.4 , integrado en la tecnología de búsqueda de escritorio Spotlight , que utiliza ITU para categorizar documentos. Uno de los principales objetivos de diseño de las UTI era eliminar las ambigüedades y los problemas asociados con la inferencia del contenido de un archivo a partir de su tipo MIME , extensión de nombre de archivo o tipo o código de creador . [1]

Las ITU utilizan una estructura de nomenclatura DNS inversa . Los nombres pueden incluir los caracteres ASCII A–Z, a–z, 0–9, guión ("-") y punto ("."), y todos los caracteres Unicode superiores a U+007F. [1] Los dos puntos y las barras están prohibidos por compatibilidad con las convenciones de ruta de archivos de Macintosh y POSIX . Las UTI admiten herencia múltiple , lo que permite identificar archivos con cualquier número de tipos relevantes, según corresponda a los datos contenidos. Las ITU no distinguen entre mayúsculas y minúsculas. [2]

Fondo

Una de las dificultades para mantener un sistema operativo accesible para el usuario es establecer conexiones entre los tipos de datos y las aplicaciones o procesos que pueden utilizar dichos datos de manera efectiva. Por ejemplo, un archivo que contiene datos de imágenes en un formato de compresión particular solo se puede abrir y procesar en aplicaciones que sean capaces de manejar datos de imágenes, y esas aplicaciones deben poder identificar qué tipo de compresión se utilizó para extraer y trabajar con esos datos. En los primeros sistemas informáticos (particularmente DOS , sus variantes y algunas versiones de Windows ) las asociaciones de archivos se mantenían mediante extensiones de archivo . El código de tres o cuatro caracteres que sigue al nombre de un archivo indica al sistema que abra el archivo en aplicaciones específicas.

A partir del Sistema 1 , [3] los sistemas operativos Macintosh tienen códigos de tipo y códigos de creador adjuntos como parte de los metadatos del archivo . Estos códigos de cuatro caracteres fueron diseñados para especificar tanto la aplicación que creó el archivo (el código de creador) como el tipo específico de archivo (el código de tipo) para que otras aplicaciones pudieran abrir y procesar fácilmente los datos del archivo. Sin embargo, si bien los códigos de tipo y creador ampliaron la flexibilidad del sistema (un tipo particular de archivo no estaba restringido a abrirse en una aplicación particular), sufrieron muchos de los mismos problemas que las extensiones de archivo. Los códigos de tipo y de creador se podían perder cuando los archivos se transferían entre sistemas que no eran Macintosh (como servidores basados ​​en Unix), y la gran cantidad de códigos de tipo hacía que la identificación fuera problemática.

Además, el sistema operativo Mac clásico no reconocía ninguna extensión de archivo, lo que provocaba errores de archivo no reconocidos cuando los archivos se transferían desde sistemas DOS/Windows. OPENSTEP , que formó la base de Mac OS X, utilizó extensiones y las primeras versiones de Mac OS X siguieron su ejemplo. Esto generó cierta controversia con los usuarios y desarrolladores que llegaron a OS X desde los orígenes de NeXT o Windows y que abogaban por el uso continuo de extensiones de archivo, y aquellos que venían de Classic Mac OS instaron a Apple a reemplazar o complementar las extensiones de archivo con el tipo y los creadores. [4]

Existen otros tipos de identificación de archivos: por ejemplo, los tipos MIME se utilizan para identificar datos que se transfieren a través de la web. Sin embargo, el sistema UTI de Apple fue diseñado para crear un sistema flexible de asociación de archivos que describiera los datos jerárquicamente y permitiera una mejor categorización y búsqueda, estandarizara las descripciones de datos en todos los contextos y proporcionara un método uniforme para expandir los tipos de datos. Por ejemplo, las UTI public.jpeg y public.png heredan de la UTI public.image , lo que permite a los usuarios buscar de forma restringida imágenes JPEG o PNG o, en sentido amplio, cualquier tipo de imagen simplemente cambiando la especificidad de la UTI utilizada en la búsqueda. . Además, los desarrolladores de aplicaciones que diseñan nuevos tipos de datos pueden ampliar fácilmente las ITU disponibles. Por ejemplo, un nuevo formato de imagen desarrollado por una empresa puede tener una UTI de com.company.proprietary-image y especificarse para heredar del tipo public.image .

macOS de Apple sigue admitiendo otras formas de asociación de archivos y contiene utilidades para traducir entre ellas, pero utilizará preferentemente las UTI cuando estén disponibles.

Estructura de la ITU

Apple mantiene el dominio public.* como un conjunto de tipos de datos básicos para todas las ITU. Otras ITU están asociadas con estas ITU básicas mediante conformidad , un sistema similar a la herencia de clases. Las ITU que se ajustan a otras ITU comparten tipos básicos y, en general, cualquier aplicación que funcione con datos de una ITU más general debería poder funcionar con datos de cualquier ITU que se ajuste a esa ITU general.

ITU públicas de Apple

Las ITU públicas más básicas en la jerarquía de Apple son las siguientes:

Las UTI se utilizan incluso para identificar otros identificadores de tipos de archivos:

Se pueden crear ITU dinámicas según las necesidades de las aplicaciones; estos tienen el prefijo dyn. y tomar la forma de "un contenedor compatible con UTI alrededor de una extensión de nombre de archivo, tipo MIME, tipo OS, etc., que de otro modo sería desconocido". [1]

ITU de terceros

Apple proporciona una gran colección de identificadores de tipo uniforme declarados por el sistema. Las aplicaciones de terceros pueden agregar ITU a la base de datos mantenida por macOS "exportando" las ITU declaradas dentro del paquete de la aplicación. Debido a que se pueden declarar nuevas UTI para que "se ajusten" a las UTI existentes del sistema, y ​​las declaraciones pueden asociar las nuevas UTI con extensiones de archivo, una declaración exportada por sí sola puede proporcionar al sistema operativo suficiente información para habilitar nuevas funciones, como habilitar la Búsqueda rápida de nuevas UTI. tipos de archivo.

Lista de ITU comunes de terceros

Buscando una ITU

Para obtener la UTI de un archivo determinado, utilice el comando mdls (lista de metadatos, parte de Spotlight ) en la Terminal .

mdls -name kMDItemContentType -name kMDItemContentTypeTree -name kMDItemKind FILE

Referencias

  1. ^ abc "Descripción general de identificadores de tipo uniforme". Guías y código de muestra . Apple Inc. 29 de octubre de 2007 . Consultado el 12 de septiembre de 2016 .
  2. ^ "Identificadores de tipo uniforme: una reintroducción - Charlas técnicas - Vídeos". Desarrollador de Apple . Consultado el 17 de mayo de 2022 .
  3. ^ "Folklore.org: el gran modelo unificado (2): el buscador". www.folklore.org . Consultado el 12 de abril de 2018 .
  4. ^ "Pautas de extensión de nombres de archivos de Mac OS X 10.1: Cocoabuilder". www.cocoabuilder.com . Consultado el 12 de abril de 2018 .
  5. ^ "Identificador de tipo uniforme para rebajas". Bola de fuego atrevida . Consultado el 21 de agosto de 2019 .
  6. ^ "Tipo de medio de formato de archivo de base de datos SQLite en IANA". Autoridad de asignación de números de Internet . IANA . Consultado el 21 de agosto de 2019 .