magic numbersper esempio su Linux, se rinomini l'eseguibile di firefox in .jpeg, Linux continuerà ad eseguirlo come un programa, e non cercherà di visualizzartelo in un image editor, in quanto riconosce i file, non in base all'estensione, bensì valutando una serie di codici presenti all'inizio del file, che definiscono il tipo di file.
Ad esempio, prova ad aprire un file .zip con un editor di testo, vedrai che inizierà sempre con "PK" (credo che per ragioni storiche, si riferisce ad una implementazione old, di PKzip).
Se per esempio hai a che fare con linux, c'è il tool "file", eseguibile da linea di comando, in cui indicandogli un file, ti tira fuori una rapida descrizione in base a questi codici
Riguardo al discorso FTP ascii/binario, è legato a ragioni storiche... una volta le connessioni erano lente, e queste funzioni servivano per ottimizzare l'utilizzo di banda durante i trasferimenti.
Su filezilla puoi specificare se usare ascii, binary, o auto. Di default è impostato su Auto. Per default, si intende che una serie di estensioni vengono trasferite in ASCII, quelle non incluse invece via BINARY. Inoltre, per default, i file senza estensione sono trasferiti in modalità ASCII.
Ora, calcola che inviare un file binario, via FTP in modalità ASCII, è garantito che lo corrompi...
esempioQui trovi una spegazione più dettagliata
LINKPer cui, ripeto, in caso di backup, posso solo consigliarti di trasferire solo archivi compressi, per evitare brutte sorprese tipo file mancanti al momento del ripristino