Tutoriales

Tipos de archivos y formatos: guía completa

Gracias a los archivos el software puede tener configuraciones, procesar información, almacenar datos, etc. Todos utilizamos en el día a día multitud de archivos de todo tipo (texto, vídeos, imágenes, binarios ejecutables,…). Por eso, ya que son tan importantes, vamos a dedicar este artículo a mostrar los tipos de archivos y las diferencias con el formato y extensiones.

¿Qué es un archivo?

Cuando nos referimos a un archivo o fichero informático, estamos refiriéndonos a una secuencia de bytes de información que están almacenados en algún tipo de memoria, como puede ser un medio de almacenamiento secundario, o CD/DVD, una memoria USB, una tarjeta SD, etc.

Además, estos archivos estarán organizados sobre un sistema de archivos o file system, es decir, lo que nosotros llamamos formatos (NTFS, ext4, HFS,…). A su vez, también podemos tener carpetas o directorios donde agrupar los archivos si se desea, manteniendo la información más ordenada y organizada.

Un directorio o carpeta no es un archivo, sino que es un contenedor virtual. Se puede considerar como un archivo especial que puede contener en su interior archivos y también otras carpetas o subdirectorios.

Los archivos también tienen una serie de elementos básicos, como es el nombre del archivo que lo identifica, la extensión que identificará el formato (p.e.: .jpg, .avi, .zip, .c), los metadatos (fecha de creación, fecha de modificación, propietario, tamaños…), y el contenido del archivo en sí (los bytes que contienen la información como tal y que puede representar texto, binarios,…).

Operaciones con archivos

Con los archivos se pueden realizar diferentes operaciones, como por ejemplo:

  • Crear: los archivos pueden ser creados por un usuario o por un software. Para ello, se usa una llamada al sistema, como puede ser creat().
  • Abrir: los archivos se pueden abrir para acceder a la información que contienen, tanto para leer como para escribir en ellos. Esto otro también necesita de una llamada al sistema como open().
  • Cerrar: una vez ya no se necesita, también puedes cerrar el archivo. Para esto se emplea la llamada al sistema close().
  • Modificación: como he comentado, también se puede escribir en él para modificar su contenido, o sus detadatos, etc.

Tipos de archivos

Los archivos se pueden catalogar según su contenido u objetivo. Por ejemplo, aquí vemos algunos de los tipos existentes:

  • Texto: este tipo de archivo contiene, como su nombre indica, texto. Puede ser texto plano o en binario. Estos archivos también pueden contener, por ejemplo, código fuente, que son también archivos de texto plano para luego ser compilados o interpretados, según el lenguaje.
  • Datos: para contener datos de entrada y de salida que son usados por programas para su procesamiento. También se pueden englobar en este grupo las bases de datos, que son una jerarquía de objetos o información ordenada. Incluso puede haber archivos de datos pertenecientes al propio sistema operativo, como algunos de controladores, bibliotecas compartidas, etc.
  • Audio: por supuesto, también los hay de audio, donde se contienen los bytes necesarios para poder reproducir el sonido.
  • Vídeo: también los hay de vídeo, que puede ser una consecución de frames o fotogramas que pueden ir acompañados de sonido o no.
  • Imagen:
    • Imagen 3D: contienen imágenes modeladas de forma tridimensional.
    • Imagen rasterizada o mapa de bits: las imágenes rasterizadas son aquellas que se componen de una serie de píxeles, con los colores definidos para cada uno de estos píxeles.
    • Imagen vectorial: las imágenes vectorizadas están formadas por objetos geométricos dependientes y atributos que definen sus propiedades.
  • Ejecutable: es un tipo de archivo en formato binario que contiene instrucciones y datos que definen un programa. De esta manera, puede ser cargado en la memoria RAM para que sea procesado por la CPU. Dentro de este tipo también podemos tener otros archivos similares, aunque suelen ser más pequeños y empleados por los programas ejecutables, como son los plugins o módulos capaces de extender las capacidades de estos programas.
  • Web: contienen código para creación de páginas webs o web apps, y pueden ser procesados por los navegadores web.
  • Empaquetados: son archivos o conjunto de archivos que están empaquetados en un único archivo. Por ejemplo, pueden ser tarballs de copias de seguridad, imágenes de disco, instantáneas, etc.
  • Codificado/cifrado: son ficheros que contienen un formato codificado o que han sido cifrados para evitar que el contenido pueda ser accedido por terceros sin autorización.
  • Otros: también puede haber otros tipos de archivos, pero los anteriores son los más conocidos.

Te recomendamos nuestra guía sobre conversión de archivos.

Formatos de archivos

Dentro de los tipos de archivos, también encontramos diferentes formatos. El formato se suele identificar mediante una extensión que tiene 3 caracteres para los viejos sistemas FAT y sistemas DOS, o más de tres tolerados por los actuales sistemas de archivos y sistemas operativos. Por ejemplo, tenemos extensiones como .jpg, .html, .db, etc.

Gracias a los formatos se puede identificar el tipo de información particular que almacenan los tipos de archivos. Por ejemplo, podemos tener un formato .png o un .jpg. Ambos son imágenes, pero son diferentes. Por ejemplo, mientras el .png puede almacenar transparencias, el .jpg no. Y esto depende de la forma en la que se codifica la información para almacenar estos datos.

Existen formatos propietarios, creados por compañías y cuyo sistema de codificación es secreto, aunque se pueden crear programas que soporte esos formatos mediante ingeniería inversa. Y también existen los formatos de archivos abiertos.

Por ejemplo, si quieres ver algunos formatos correspondientes a los tipos de archivos descritos anteriormente, tenemos:

  • Texto: .txt, .docx, .odt, .rtf, .c, .js, .vhdl, .cpp,…
  • Datos: .csv, .ppt, .pdf, .xml, .pct, .sql, .db, .mdb, .fnt, .fon, .ttf, .sys, .dll, .a, .ink, msi, .ics,…
  • Audio: .mp3, .ogg, .m4a, .wav,…
  • Vídeo: .flv, .mp4, .avi, .mpg, .mkv, …
  • Imagen:
    • Imagen 3D: .obj, .3dm, .max,…
    • Imagen rasterizada o mapa de bits: .bmp, .png, .tiff, .psd, .jpg, .gif,…
    • Imagen vectorial: .ai, .svg, .spg, .eps,…
  • Ejecutable: .apk, .rom, .gam, .exe, .jar, …
  • Web: .html, .php, .aspx,…
  • Empaquetados: .zip, .rar, .zx, .7z, .gz, .bz2, .tmp, .tar, .bak, .tape, .dmg, .iso, .mdf, …
  • Codificado/cifrado: .hgx, .mim, .uue, .cypher, .cyp, .gpg, .axx, .key, .cha, .kdbx, .epm, …

¿Cómo se identifica un formato?

Los formatos de archivos necesitan ser identificados para saber con qué programa se pueden abrir, o cómo se pueden tratar. Según el sistema operativo, esto se puede hacer de una forma u otra. Aquí tienes los métodos más conocidos:

  • Extensión: la extensión que acompaña al nombre de los archivos puede ser usada por los sistemas operativos para identificar del tipo de archivo que se trata. Por ejemplo, Windows, DOS, y otros sistemas pueden usar la extensión como identificador. Pero esto tiene sus problemas, porque si se cambia la extensión, se podría interpretar como otro tipo de archivo.
  • Metadatos: algunos sistemas también pueden emplear metadatos internos para identificar el archivo.
  • Encabezado: el encabezado o header también puede ser leído por el sistema para tratar de identificar el formato.
  • Magic number: este método empleado por sistemas Unix o Unix Like, como Linux, emplea un identificador que se almacena dentro del propio archivo. Suele ser 2 bytes de información al comienzo. Por ejemplo, podría ser un código, una etiqueta, o un shebang.
  • Type codes: macOS también puede emplear ciertos códigos que se almacenan en el sistema de archivos para identificar los formatos. Estos códigos se conocen como OSTypes y son una secuencia de 4 bytes.
  • UTI (Uniform Type Identify): se trata de un identificador empleado en macOS para reemplazar al método anterior.
  • Atributos extendidos: algunos sistemas, como IBM OS/2, también empleaba atributos extendidos para identificar formatos, como el .TYPE.
  • MIME Type: es otra forma de identificar los formatos, especialmente en Internet. Es usada por los navegadores webs, así como sistemas como AmigaOS, BeOS, MorphOS, Unix y Unix-like, etc.
  • Otros: también existen otras formas menos comunes, como el PUI, FFID, identificación basada en contenido, etc.

Conversión entre formatos y tipos de archivos

Para finalizar, seguro que muchos tienen la duda de si se puede convertir entre formatos o si se puede cambiar un tipo de archivo a otro. Pues bien, aquí tienes las respuestas:

  • Conversión entre tipos: convertir de un formato a otro no tiene mucho sentido. Generalmente no se puede pasar de un tipo a otro, ya que no tiene sentido convertir por ejemplo un archivo de vídeo a un archivo de texto. Tampoco tendría mucho sentido convertir un binario ejecutable en un archivo de imagen. Sin embargo, en algunos casos sí que se puede hacer una conversión de un tipo a otro, y que tiene sentido. Por ejemplo, imagina que conviertes un archivo tipo vídeo en un archivo tipo audio, puesto que quieres convertir un videoclip de una canción en un archivo de solo música para reproducirlo. Otro caso de ejemplo sería si quieres convertir un .jpg en un documento PDF, es decir, una imagen a un archivo de datos.
  • Conversión entre formatos:  este otro caso no está tan limitado como el anterior, pero también existen algunas limitaciones. Por ejemplo, podemos convertir un .png que suele ser más pesado en un .jpg para que su tamaño se reduzca para subirlo a una web. O podemos convertir un .avi en un .mp4 para pasar de un codec a otro y que el vídeo pueda ser reproducido en un reproductor o dispositivo que no admitía el formato .avi. O tal vez podemos convertir de un .docx a un .odt para usar el formato nativo de las suites ofimáticas libres u otras alternativas de software

Tanto en un caso como en otro, generalmente se necesita software de conversión para poder convertir entre tipos o formatos.

Recent Posts

  • Cajas

CHIEFTEC Visio y Visio Air, nueva caja para PC de doble cámara ATX

CHIEFTEC acaba de presentar dos nuevas cajas para PC, Visio y Visio Air con un…

20 mins atrás
  • Reviews

Asus ZenWiFi BT8 Review en Español (Análisis completo)

Asus ZenWiFi BT8 es un sistema Mesh Wi-Fi 7 el cual se sitúa por debajo…

2 horas atrás
  • Portátiles y ordenadores

Snapdragon X: Qualcomm anuncia nuevos modelos de gama baja, apuntan a portátiles de 600 dolares

Qualcomm anuncia nuevos SoC Snapdragon X, pero no se trata de una nueva generación, sino…

2 horas atrás