stringtranslate.com

Identificador de tipo uniforme

Un identificador de tipo uniforme ( UTI ) es una cadena de texto que se utiliza en el software proporcionado por Apple Inc. para identificar de forma única una clase o tipo de elemento determinado. Apple proporciona UTI integrados 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 los desarrolladores de terceros agregar sus propios UTI para usos específicos de la aplicación o propietarios. El soporte para UTI se agregó en el sistema operativo Mac OS X 10.4 , integrado en la tecnología de búsqueda de escritorio Spotlight , que usa UTI para categorizar documentos. Uno de los principales objetivos de diseño de los 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 UTI utilizan una estructura de nombres DNS inversa . Los nombres pueden incluir los caracteres ASCII A–Z, a–z, 0–9, guion ("-") 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 rutas 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 que contienen. Las UTI 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 eficazmente dichos datos. 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, en particular DOS , sus variantes y algunas versiones de Windows , las asociaciones de archivos se mantienen mediante extensiones de archivo . El código de tres a cuatro caracteres que sigue a un nombre de archivo indica al sistema que abra el archivo en aplicaciones específicas.

A partir del Sistema 1 , [3] los sistemas operativos Macintosh han incluido códigos de tipo y códigos de creador como parte de los metadatos de los archivos . Estos códigos de cuatro caracteres se diseñaron 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 de 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 plétora de códigos de tipo hacía que la identificación fuera problemática.

Además, el Mac OS clásico no reconocía extensiones de archivo en absoluto, lo que provocaba errores de archivos no reconocidos cuando se transferían archivos desde sistemas DOS/Windows. OPENSTEP , que formó la base de Mac OS X, usaba extensiones, y las primeras versiones de Mac OS X siguieron su ejemplo. Esto provocó cierta controversia con los usuarios y desarrolladores que llegaban a OS X desde orígenes NeXT o Windows abogando por el uso continuo de extensiones de archivo, y los que venían del Mac OS clásico instaron a Apple a reemplazar o complementar las extensiones de archivo con type y creators. [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 se diseñó para crear un sistema de asociación de archivos flexible 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 imágenes JPEG o PNG de forma restringida o cualquier tipo de imagen de forma amplia 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 UTI disponibles. Por ejemplo, un nuevo formato de imagen desarrollado por una empresa puede tener una UTI de com.company.proprietary-image y estar especificada para heredar del tipo public.image .

macOS de Apple continúa admitiendo otras formas de asociación de archivos y contiene utilidades para traducir entre ellas, pero utilizará UTI de preferencia cuando estén disponibles.

Estructura de la ITU

Apple mantiene el dominio público.* como un conjunto de tipos de datos base para todas las UTI. Otras UTI están asociadas con estas UTI base por conformidad , un sistema similar a la herencia de clases. Las UTI que se ajustan a otras UTI comparten tipos básicos y, en general, cualquier aplicación que trabaje con datos de una UTI más general debería poder trabajar con datos de cualquier UTI que se ajuste a esa UTI general.

UTI públicas de Apple

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

Los UTI incluso se utilizan para identificar otros identificadores de tipo de archivo:

Las UTI dinámicas se pueden crear según las necesidades de las aplicaciones; tienen el prefijo dyn. y toman la forma de "un contenedor compatible con UTI alrededor de una extensión de nombre de archivo, tipo MIME, OSType, etc. que de otro modo serían desconocidos". [1]

Infecciones urinarias de terceros

Apple ofrece una gran colección de identificadores de tipo uniforme declarados por el sistema. Las aplicaciones de terceros pueden agregar identificadores de tipo uniforme a la base de datos que mantiene macOS "exportando" los identificadores de tipo uniforme declarados dentro del paquete de la aplicación. Dado que se pueden declarar nuevos identificadores de tipo uniforme para que "se ajusten" a los identificadores de tipo uniforme del sistema existentes, y las declaraciones pueden asociar los nuevos identificadores de tipo uniforme 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 función de búsqueda rápida para nuevos tipos de archivo.

Lista de infecciones urinarias de terceros más comunes

Buscando una UTI

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 los 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". Apple Developer . 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 para extensiones de nombres de archivos en Mac OS X 10.1 - Cocoabuilder". www.cocoabuilder.com . Consultado el 12 de abril de 2018 .
  5. ^ "Identificador de tipo uniforme para Markdown". Daring Fireball . Consultado el 21 de agosto de 2019 .
  6. ^ "Tipo de medio de formato de archivo de base de datos SQLite en IANA". Autoridad de Números Asignados en Internet . IANA . Consultado el 21 de agosto de 2019 .