La codifica

Premessa


Durante la creazione della matrice, potremo scegliere quanti minicodici assegnare a ciascun carattere codificabile.

📌 Esempio pratico
Se scegliamo di generare una matrice con 10 minicodici, ogni carattere riceverà 10 minicodici univoci e casuali.
Durante la codifica del testo, il software assegnerà uno di questi minicodici a ogni occorrenza del carattere corrispondente.
⚠️ Ma attenzione: un singolo minicodice può essere usato solo una volta.

🚫 Cosa succede se i minicodici non bastano?
Se nel testo da codificare un carattere appare più volte rispetto al numero di minicodici disponibili, la codifica fallirà.

Esempio:

Abbiamo creato una matrice con 10 minicodici.
Vogliamo codificare un testo che contiene 11 lettere “c”
❌ La codifica non potrà essere completata, perché all’undicesima “c” non potrà essere assegnato un minicodice.

Come funziona la codifica


Per capire come funziona l'assegnazione dei minicodici, e pertanto la creazione di un codice completo, facciamo un esempio pratico basandoci sulla matrice appena creata con 10 minicodici per elemento.
Supponiamo di voler codificare la seguente parola:

Hello.

Limitiamo la visione della matrice ai soli elementi da codificare:

"H": ["Sk", "Tc", "Nsly", "Pp", "Wwtj", "Ojt", "Za31", "Zai", "Tkb", "E?7y" ],
"e": ["Cs", "Vd", "H6l", "G4h", "Ysf", "Y5ef", "Wx0x", "N2@", "B0", "S*@a" ],
"l": ["Tbw*", "T2d%m", "Jq", "S7f", "A0n", "Lq", "Mz*p4", "Vn", "Ur", "F50@p" ],
"o": ["T4izu", "A8?8n", "Pwf@y", "Ks", "Kxs", "E84", "Y!f", "Qn%5p", "Gcb", "Gyq*m" ],

Il primo elemento da codificare è la H maiuscola.
Le app che utilizzano il sistema Cyphersol assegneranno alla posizione H maiuscola uno dei suoi 10 minicodici presenti nella matrice, pescandolo in maniera del tutto casuale.
Poi allo stesso modo, assegnerà i minicodici altri elementi.

Ecco un possibile risultato:

ZaiY5efVnTbw*Gyq*m