“Codepage” è il termine tradizionale utilizzato da IBM per una specifica tabella di codifica dei caratteri, cioè una mappatura nella quale ad un numero è associato a un carattere specifico.
Ad esempio, nella codifica ASCII il carattere A corrisponde al numero decimale 65. L’unica convenzione valida per tutte le piattaforme è appunto il codice ASCII standard (a 7 bit), ovvero i caratteri dal n. 0 al n.127. Sono escluse le lettere accentate ed i segni tipici di ciascuna lingua. Le tabelle codici sono definite univocamente all’interno di alcune convenzioni internazionali, diversificate per lingua, modo di scrittura, corrispondenza sulla tastiera e per il tipo di sistema su cui operano.
Unicode UTF-8
La codifica Unicode UTF-8 assegna un numero ad ogni possibile carattere, senza tener conto di piattaforma, programma o lingua.
Lo scopo di Unicode è:
- Stilare una lista di tutti i caratteri delle lingue del mondo, come i caratteri arabi (ש), le nostre classiche lettere “latine” (a, b, c), i caratteri russi (cirillico: Й), i caratteri greci (Σ) e tutti i caratteri degli altri paesi del mondo
- Suddividerli per “tipologia linguistica” (Latino, Ebreo, Cirillico) o per tipologia (simboli, segnali, etc etc)
- Dare un nome esteso ad ogni carattere:
- Ad esempio: “Above – Combining Double Vertical Line” è il nome di un carattere che sta sopra alle lettere (come un accento), ed è formato da due barrettine verticali parallele, sembra un doppio apice. (il suo codice Unicode è U+030E e visivamente è ̎ mentre il doppio apice è “)
- Dare un codice per ogni carattere:
- Ad esempio: Il carattere a ha codice Unicode U+0061
UTF-8 può occupare spazi diversi per memorizzare caratteri diversi, in particolare:
- Usa 1 byte per memorizzare i caratteri ASCII;
- Usa 2 byte per memorizzare altri 1920 caratteri (Romanico, Greco,Cirillico, etc);
- Usa 3 byte per memorizzare 63488 caratteri (tra cui cinese e giapponese);
- Usa 4-5-6 byte per altri 2147418112 non tutti utilizzati.