domenica 11 ottobre 2009

C'è un modo per riconoscere il formato di un file con assoluta certezza?

Può essere possibile stabilire il formato di un file guardando l'estensione del file stesso (ad esempio, .wma, .wmv, .mp3 o .avi). Tuttavia, come riconosce la stessa Microsoft, questo metodo presenta dei limiti perchè numerosi programmi creano file con estensioni personalizzate e perchè chiunque può rinominare un file senza modificarne il formato.

Conoscere con certezza quale sia il formato del file può essere molto utile quando ad esempio ci troviamo di fronte a un file con un'estensione sconosciuta e non riesciamo ad aprirlo con nessuna applicazione, oppure quando abbiamo un file con un'estensione conosciuta che però il player dei file di quel formato non riesce a riprodurre ingenerandoci il dubbio se il file sia corrotto oppure sia stato rinominato in modo anomalo.

E' possibile risalire al formato giusto di un file conoscendo l'Header del file stesso.
In pratica (a parte qualche rara eccezione) ogni tipo di file viene scritto usando un'intestazione "univoca" che ci permette di capire il tipo.
Per leggere l'Header del file è sufficiente aprire il file incriminato con un Hex Editor a piacere oppure, se il file non è troppo pesante, usando il semplicissimo WordPad e leggere le prime righe del file. E' tutto scritto in quelle 2/3 righe.

Per esempio, un file con questa intestazione
ÿùP€?üÞ4 libfaac 1.24+
è sicuramente un file MPEG2-AAC"

Un'altra soluzione, più semplice, è utilizzare un programma ad hoc come Jack!The Knife che dice con assoluta certezza di che tipo di file si tratta e consiglia l'estensione corretta.