Formato di file

Da Wikipedia, l'enciclopedia libera.

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

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.

È 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.

Identificazione del formato di un file[modifica | modifica sorgente]

Tramite l'estensione[modifica | modifica sorgente]

Il formato di un file è comunemente indicato attraverso l'estensione, che è una serie di lettere (in genere tre, per motivi storici) 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.

Tramite "magic number"[modifica | modifica sorgente]

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 jpg.

Tramite metadati espliciti[modifica | modifica sorgente]

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.
Un approccio simile è usato con i tipi MIME, usati per identificare il formato dei messaggi di posta elettronica o delle comunicazioni del World Wide Web.

Specifiche[modifica | modifica sorgente]

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.

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 i dati salvati con quel programma non possano essere letti con altri programmi simili (il file può sempre essere 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, attraverso un lavoro di reverse engineering, ma è di solito un processo molto lungo e costoso. Se il formato in questione è anche criptato, risalire ai dati diventa praticamente impossibile.

Voci correlate[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica