Il testo normale è binario.
Quando scrivi H
su un disco rigido, la testina di scrittura non incide due linee verticali e una linea orizzontale nel piatto, codifica magneticamente i bit 01001000
1 in il piatto.
Da lì, dovrebbe essere ovvio che la memorizzazione di dati di testo in chiaro occupa esattamente la stessa quantità di spazio di archiviazione dei dati binari.
Ma il testo in chiaro è solo un 2 formato binario particolare
Il testo normale può essere trasformato in modo reversibile in altri formati binari. Una trasformazione comune è la compressione che di solito produce una rappresentazione più compatta, ovvero meno bit utilizzati per rappresentare le stesse informazioni.
A seconda di cosa stai usando il testo in chiaro da rappresentare, potresti essere in grado di utilizzare diversi formati binari per rappresentare le stesse informazioni. Questo può usare più spazio, potrebbe usare meno.
Ad esempio, i numeri 5
e 1234567
potrebbero essere rappresentati in testo semplice utilizzando caratteri numerici, risultando in queste sequenze di bit su disco 3 :
00110101 00000000
00110001 00110010 00110011 00110100 00110101 00110110 00110111 00000000
In alternativa, puoi utilizzare il complemento a due a 32 bit
a 32 bit:
00000000 00000000 00000000 00000101
00000000 00010010 11010110 10000111
Che è una rappresentazione meno compatta di 5
, ma una rappresentazione più compatta di 1234567
.
E c'è un numero letteralmente infinito di altre rappresentazioni che avrebbero vari livelli di compattezza e flessibilità, anche se, in pratica, molto meno di quello che molte rappresentazioni sono effettivamente utilizzate.
1 Supponendo UTF-8. L'esatta sequenza di bit per un personaggio dipende dalla specifica codifica che stai utilizzando.
2 O in realtà, diversi formati, viste le varie codifiche .
3 Se ti stai chiedendo cosa siano quegli otto zeri alle estremità, beh, hai bisogno di sapere come sono i dati. Le opzioni fondamentalmente si riducono a un marker (l'ho usato, tramite un byte null), lo spazio dedicato alla memorizzazione della lunghezza (Pascal utilizzava un byte per memorizzare la lunghezza di una stringa) o una dimensione fissa (utilizzata nel complemento a due successivo esempio).