Credo che quello dove fai confusione sul fatto che il testo, le stringhe e i caratteri siano "il formato base" di un file, su cui uno creano gli altri. Non cos.
Sotto c' sempre un flusso di bit, cio 0 e 1, raggruppati 8 a 8, cio byte, che vengono interpretati diversamente dal software che li legge e ne d una rappresentazione all'utente.
Se io voglio scrivere un file di testo alla fine quello che arriva sotto questo flusso di byte (si usa l'esadecimale, in binario o decimale sarebbe troppo lungo per grosse mole di dati):
63 69 61 6F
Se li apri con un editor di testo li convertir in "ciao". Perch per il testo di base, come fa notepad, si segue la ascii table
http://www.asciitable.com/
Se uno vuole salvare lo stato di un software, prendiamo l'esempio del gioco come dici tu, per semplificare mettiamo che uno decida che la struttura Vite 1 byte, Livello 1 byte. E che uno salvi lo stato 100 vite, livello 40.
Avr
64 28
Ora aprendo questo con un editor di testo lui ti mostra: d(
E se il valore esadecimale non ricade nella tabella caratteri usata dal programma di testo, vedresti un quadratino bianco.
Se poi l'editor di testo usasse la taballe UNICODE per risolvere i byte in caratteri userebbe tutti questi caratteri:
http://unicode-table.com/en/#spacing-modifier-letters
Senza alcun senso.
In questo caso andrebbe usato un editor esadecimale, e bisognerebbe sapere la convenzione con cui i byte sono stati strutturati, cio sapere che il primo byte sono le vite, il secondo il livello.
Portando questo banale esempio a situazioni pi complesse, immagini, formati pi complessi eccetera, capirai perch vengono fuori quei caratteri, ovvero
hai aperto i dati col programma sbagliato, tutto qui.
Spero che ora ti sia pi chiaro.
Ti consiglio di lasciare perdere per ora la cifratura e decifratura, credo che ti farebbe solo pi confusione.
Prova a salvare a mano i byte dentro ad un file e a rilevverli correttamente ricostruendo le informazioni nel tuo softare.
Poi magari provare la serializzazione binaria e solo infine provare un p a cifrare i dati.