File di testo e file non di testo: differenza

Messaggioda astruso83 » 31/12/2021, 22:16

Salve a tutti.

Un file html, un file word, un file json, un file xml, un file notepad, ecc. sono tutti esempi di file di testo. Ma come si differenziano fra loro questi vari file di testo e cosa hanno in comune? Tutti questi esempi di file hanno in comune di certo il fatto che si possono aprire con un semplice programma di text editor.

Cosa li differenzia? La codifica dei caratteri (numero di bit, ASCII, unicode, ecc.) e il diverso tipo di metadati?
Per esempio, la lettera "a" viene rappresentata da un numero diverso di bit in formati diversi (ASCII, unicode, ecc.). Ma perché complicarsi la vita con codifiche diverse? Che vantaggi ci sono se alla fine se si parla sempre di testo, cioè sequenze di caratteri alfanumerici?

Un file html o xml hanno specifici termini, le tag, che vengono interpretati dal nostro browser con un significato particolare. Rimane comunque che un file html viene aperto senza problemi sia dal browser sia dal text editor...

Alla fin fine, tutti i file sono file binari, cioe' rappresentati da 0 e 1...

Grazie e buon anno.
astruso83
Junior Member
Junior Member
 
Messaggio: 118 di 245
Iscritto il: 19/03/2014, 01:43

Re: File di testo e file non di testo: differenza

Messaggioda megas_archon » 02/01/2022, 10:46

Non ho capito, la domanda è "a cosa servono differenti encoding di testo"?
Avatar utente
megas_archon
Senior Member
Senior Member
 
Messaggio: 180 di 1318
Iscritto il: 13/06/2021, 20:57

Re: File di testo e file non di testo: differenza

Messaggioda astruso83 » 02/01/2022, 17:02

Salve megas_archon.

Scusa la poca chiarezza. Tutti i file, a prescindere dal tipo ed estensione, sono alla fine file binari, cioe' sequenze di 0 e 1. C'e' pero' distinzione fra file binari e file di testo.

Cosa sarebbe allora un file di testo? Le varie estensioni (.txt, .html, .json) indicano tipi di file diversi ma sono pur sempre file di testo. In cosa si differenziano ed in cosa si accomunano questi diversi file di testo?

Un file di testo sembra un file che se aperto con un programma "text editor" (programma capace di in grado di supportare encoding diversi come ASCII, UTF-8, UTF-32, ecc) viene convertito in caratteri alfanumerici... Inoltre, un file di testo non dovrebbe avere meta data ma solo bytes che sono mappati con specifici caratteri alfanumerici.

Un'immagine jpg e' un file binario ma non e' un file di testo: non e' comprensibile se aperta in notepad. Il risultato e' comunque una sequenza di caratteri ma che non ha senso...

Grazie!
astruso83
Junior Member
Junior Member
 
Messaggio: 120 di 245
Iscritto il: 19/03/2014, 01:43

Re: File di testo e file non di testo: differenza

Messaggioda apatriarca » 02/01/2022, 22:04

Ogni file—sia esso una immagine, una sequenza di testo, un audio musicale...—ha bisogno di essere strutturato in modo da essere leggibile dai suoi utilizzatori. Memorizzare dei testi è una operazione molto comune e sono quindi stati definiti diversi standard per farlo. Ne sono stati definiti tanti perchè esistono molte lingue e diversi obiettivi che il formato si è posto. Il formato ASCII originario supporta ad esempio solo le lettere dell'alfabeto inglese, senza lettere accentate o caratteri di altri alfabeti. È a malapena sufficiente per scrivere in inglese. Siccome non utilizza tutti i simboli possibili in un byte sono stati inventati degli standard ad esso compatibili per poter scrivere testo nelle lingue europee per esempio. Questi standard aggiungevano caratteri accentati e (forse) gli alfabeti greco e cirillico. Altri standard permettevano di scrivere in lingue come quella araba o cinese, giapponese.. Da questo caos di standard alla fine è nato lo standard Unicode che ha cercato di mettere un po' di ordine e soprattutto creare un set di formati che andassero bene per tutte le lingue (ecco quindi UTF-8 e UTF-16 ad esempio). Una volta il costo dello spazio in memoria o di trasmissione sulla rete ha costretto all'utilizzo di alcuni formati ottimizzati per determinati tipi di messaggi. Gli SMS ad esempio utilizzavano originariamente una codifica a 7 bit che permetteva di risparmiare 1 byte ogni 8 caratteri molto diversa dall'ASCII. Doveva infatti supportare i caratteri usati in Europa (gli SMS sono nati come standard europeo) e in realtà nell'ASCII ci sono un sacco di caratteri di formattazione che non erano richiesti o desiderabili negli SMS.

Un file di testo può avere poi una sua struttura interna a seconda di cosa deve rappresentare (un file HTML è ad esempio una pagina web mentre un file JSON rappresenta dei dati gerarchici). È in effetti necessario dargli una struttura se si vuole fare qualcosa di più rispetto a scrivere un testo. Diversi formati ed estensioni rappresentano semplicemente tipi di dati diversi. Li accumuna soltanto la scelta di rappresentare quei dati come una sequenza di caratteri, ma scegliendo regole diverse su come sono strutturati e devono essere interpretati.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5643 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: File di testo e file non di testo: differenza

Messaggioda astruso83 » 04/01/2022, 00:04

Grazie apatriarca!

Quindi, quando si apre un'immagine con notepad, un text editor, i byte che compongono l'immagine vengono decodificati usando ASCII o UTF-8 per convertirli in caratteri da noi comprensibili. Chiaramente, mentre in un file di testo i caratteri sono organizzati in modo da creare un contenuto che ha significato testuale, nel caso dell'immagine si ottiene un miscuglio incomprensibile di caratteri...Un text editor e' quindi un'applicazione che codifica/decodifica bytes usando UTF-8 o ASCII...

Ho capito correttamente?
astruso83
Junior Member
Junior Member
 
Messaggio: 121 di 245
Iscritto il: 19/03/2014, 01:43

Re: File di testo e file non di testo: differenza

Messaggioda apatriarca » 04/01/2022, 16:04

Sì, un editor di testo semplicemente legge un file binario e decodifica il suo contenuto usando uno degli standard usati per i file di testo. È in effetti possibile in alcuni editor cambiare la codifica usata (soprattutto quelli più vecchi che quelli nuovi danno spesso per scontato che si usi UTF-8).
apatriarca
Moderatore
Moderatore
 
Messaggio: 5644 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite