Magic number: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Pil56-bot (discussione | contributi)
smistamento lavoro sporco
TheFax (discussione | contributi)
Aggiunto qualche altro Magic Number
Riga 11:
Ancora oggi, i sistemi operativi Microsoft non utilizzano il magic number per dedurre il formato di appartenenza di un determinato file, ma appunto le estensioni. I magic number possono comunque essere utili per definirne la versione.
 
=== Esempi di utilizzo in informatica ===
=== Tipologie ===
* I file immagine [[Graphics Interchange Format|GIF]], per esempio, cominciano sempre con la [[Stringa (informatica)|stringa]] [[ASCII]] GIF87a o GIF89a che definisce lo standard al quale il file aderisce.
* Le classi [[Java (linguaggio)|Java]] compilate hanno il magic number <code>CAFEBABE</code>, espresso in notazione [[esadecimale]]. {{Citazione necessaria|Probabilmente è un altro riferimento al [[Java (caffè)|caffè]] che di Java è simbolo e nome e all'ipotetica cameriera che lo serve.}}
* I file [[ZIP (formato di file)|ZIP]] cominciano tutti per <code>PK</code> (in esadecimale <code>50 4B</code>), dalle iniziali del nome dell'ideatore [[Phil Katz]].
* Gli script [[Unix]] o [[Linux]] possono iniziare con i due caratteri <code>#!</code>, cioè <code>23 21</code> in esadecimale, seguiti dalla path di un interpreter, se l'interpreter è diverso da quello da cui è stato invocato lo script.
* Gli eseguibili [[Executable and linkable format|ELF]] iniziano con <code>7F 45 4C 46</code> (gli ultimi tre byte di questo magic number vanno a formare la parola ELF)
* I file [[PDF]] iniziano con "%PDF" (in esadecimale <code>25 50 44 46</code>).
* Se un dispositivo di memorizzazione contiene [[Master Boot Record]], allora gli ultimi due byte dell'MBR contengono il magic number <code>55</code> <code>AA</code>.
* I file di testo [[Unicode]] codificati in [[UTF-16]] spesso iniziano con un marcatore che ne identifica l'[[ordine dei byte]]: <code>FE</code> <code>FF</code> per i big endian, e <code>FF</code> <code>FE</code> per i little endian.
* ...molti altri
 
Da notare che questi marcatori sono davvero utili ai software di recupero dei dati (per esempio [[TestDisk]], per citarne uno) in quanto attraverso di essi riescono ad identificare la presenza di un dato tipo di file, o di struttura, anche se il [[File System]] è danneggiato.
Le classi [[Java (linguaggio)|Java]] compilate hanno il magic number <code>CAFEBABE</code>, espresso in notazione [[esadecimale]]. {{Citazione necessaria|Probabilmente è un altro riferimento al [[Java (caffè)|caffè]] che di Java è simbolo e nome e all'ipotetica cameriera che lo serve.}}
 
I file [[ZIP (formato di file)|ZIP]] cominciano tutti per <code>PK</code> (in esadecimale <code>50 4B</code>), dalle iniziali del nome dell'ideatore [[Phil Katz]].
 
== Costanti senza nome ==