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