In informatica, i caratteri (lettere, numeri, simboli) vengono rappresentati utilizzando codifiche standard che associano ciascun carattere a un numero binario. Questo permette di memorizzare e trasmettere testi nei computer.
ASCII è una codifica a 7 bit che rappresenta 128 caratteri (da 0 a 127). È stata estesa a 8 bit per includere caratteri aggiuntivi.
Ogni carattere è rappresentato da un byte (8 bit), dove i primi 7 bit sono il codice ASCII e l'ottavo è spesso 0.
| Carattere | Codice Decimale | Codice Binario (8 bit) |
|---|---|---|
| 'A' | 65 | 01000001 |
| 'a' | 97 | 01100001 |
| '0' | 48 | 00110000 |
| ' ' | 32 | 00100000 |
| '!' | 33 | 00100001 |
Ad esempio, la stringa "Hi" in ASCII: 'H' (01001000) + 'i' (01101001) = 0100100001101001
Unicode è uno standard internazionale che supporta caratteri da molte lingue e simboli. Utilizza codifiche variabili come UTF-8, UTF-16 e UTF-32.
UTF-8 è a lunghezza variabile: 1-4 byte per carattere. È compatibile con ASCII per i primi 128 caratteri.
| Carattere | Codice Unicode | UTF-8 Binario |
|---|---|---|
| 'A' | U+0041 | 01000001 (1 byte) |
| 'è' | U+00E8 | 11000011 10101000 (2 byte) |
| '€' | U+20AC | 11100010 10000010 10101100 (3 byte) |
UTF-16 utilizza 2 byte per la maggior parte dei caratteri, ma può usare 4 byte per caratteri rari.
| Carattere | Codice Unicode | UTF-16 Binario |
|---|---|---|
| 'A' | U+0041 | 00000000 01000001 |
| 'è' | U+00E8 | 00000000 11101000 |
| '€' | U+20AC | 00100000 10101100 |
Unicode permette di rappresentare testi multilingue, essenziale per applicazioni globali.