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 www.computerhope.com. URL consultato il 30 ottobre 2021.
  2. ^ FileFormat.Info · The Digital Rosetta Stone, su www.fileformat.info. URL consultato il 30 ottobre 2021.
  3. ^ ASCII in Vocabolario - Treccani, su www.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 www.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.

Voci correlateModifica

Altri progettiModifica

Collegamenti esterniModifica

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