Formato di file

tipo di formato

Un formato di file, in informatica, indica la convenzione che viene usata per leggere, scrivere e interpretare i contenuti di un file[1][2].

Poiché i file non sono altro che insiemi ordinati di byte, cioè semplici numeri, per poter associare al loro contenuto cose diverse si usano convenzioni che legano i byte ad un significato. Ad esempio, un formato di file per immagini può stabilire che i primi due byte sono l'altezza e la larghezza dell'immagine, e i seguenti i colori secondo uno schema preordinato. I file di testo usano vari sistemi di codifica (come il sistema ASCII) per rappresentare lettere e formattazioni diverse[3].

È teoricamente possibile, a meno di leggere manipolazioni, interpretare il contenuto di un file come se fosse codificato secondo un formato diverso da quello con cui è stato creato: i byte letti sono generalmente validi, anche se non dotati di molto senso; ad esempio è possibile leggere un'immagine come se fosse un file musicale, ma molto probabilmente si otterranno solo rumori e non musica.

IdentificazioneModifica

Tramite l'estensioneModifica

 
Esempio di formati di file con estensione

Il formato di un file è per convenzione indicato attraverso l'estensione, che è una serie di lettere (in genere tre, per motivi storici del formato 8.3) unita al nome del file attraverso un punto. Ad esempio, "prova.txt" è un file di testo (o meglio, il suo contenuto va interpretato come testo), mentre "prova.jpg" è un'immagine. Microsoft Windows ad esempio usa questo metodo per identificare il tipo di file[4][5].

Tramite "magic number"Modifica

 Lo stesso argomento in dettaglio: Magic number.

Il formato di un file può anche essere identificato dai primi due o più byte del file (comunemente detti magic number), ad esempio #! identifica gli script nei sistemi Unix e Unix-like (vedi anche shabang), mentre 0xffd8 identifica le immagini in formato jpeg. I sistemi operativi Unix-like utilizzano questo metodo per identificare il tipo di file[6].

Tramite metadati esplicitiModifica

I file system HFS e HFS+ usati sui computer macintosh affiancano ogni file con informazioni dettagliate sul suo formato, il programma che l'ha creato ecc[7].

Un approccio simile è usato con i tipi MIME e gli Internet media type, usati per identificare il formato dei messaggi di posta elettronica o delle comunicazioni del World Wide Web[8].

SpecificheModifica

Per molti formati sono state pubblicate delle specifiche che descrivono esattamente come i dati devono essere codificati e che possono essere usate per stabilire se un programma specifico tratti correttamente o meno un determinato formato[9].

Se il formato è chiuso e proprietario (generato da un codice sorgente la cui specifica è chiusa e proprietaria), può essere letto soltanto dal software rilasciato da chi detiene la specifica del formato stesso.
Invece, per i formati proprietari e aperti, in genere audio o video, esistono dei codec che permettono la loro lettura tramite molteplici programmi.

Non sempre tali specifiche sono disponibili: innanzitutto alcuni formati sono considerati segreti industriali e le loro specifiche non vengono distribuite pubblicamente, come avviene ad esempio per molti dei formati usati dalla suite Microsoft Office; inoltre in molti casi gli sviluppatori non scrivono un documento di specifica separato, ma definiscono il formato solo implicitamente attraverso il programma che lo gestisce. In questo modo non è possibile creare altri programmi simili che possano leggere i dati salvati con quel programma (il file può sempre essere teoricamente letto da qualunque programma: ma i dati restano incomprensibili, se non si conosce il formato con cui sono stati salvati).

Risalire ai dati originali salvati in un formato sconosciuto è sempre possibile[senza fonte], attraverso un lavoro di reverse engineering sul file, ma è di solito un processo molto lungo e costoso. Se il formato in questione è anche criptato, risalire ai dati diventa praticamente impossibile.

NoteModifica

  1. ^ (EN) What is a File Format?, su computerhope.com. URL consultato il 30 ottobre 2021.
  2. ^ FileFormat.Info · The Digital Rosetta Stone, su fileformat.info. URL consultato il 30 ottobre 2021.
  3. ^ ASCII in Vocabolario - Treccani, su treccani.it. URL consultato il 30 ottobre 2021.
  4. ^ ᐅ Elenco di tutte le estensioni file di Windows, su versione-completa.it. URL consultato il 30 ottobre 2021.
  5. ^ Cos'è l'estensione di un file: Guida informatica | Gaminghw, su GAMINGHW.IT, 13 agosto 2021. URL consultato il 30 ottobre 2021.
  6. ^ (EN) What is a magic number?, su ibm.com, 20 agosto 2003. URL consultato il 30 ottobre 2021.
  7. ^ agid.gov.it (PDF).
  8. ^ dia.unipr.it (PDF).
  9. ^ (EN) © Stanford University, Stanford, California 94305, Best practices for file formats, su Stanford Libraries. URL consultato il 30 ottobre 2021 (archiviato dall'url originale il 30 ottobre 2021).

Voci correlateModifica

Altri progettiModifica

Collegamenti esterniModifica

Controllo di autoritàGND (DE4433979-3
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica