La codifica dei caratteri, nella programmazione dei computer, è un metodo o un algoritmo utilizzato per trovare una rappresentazione solitamente numerica di un carattere, un glifo o un simbolo. L’uso della codifica dei caratteri nei computer è necessario perché le informazioni all’interno della memoria del computer e su supporti leggibili dal computer sono archiviate come sequenze di bit o numeri. Ciò richiede l’uso della codifica per tradurre i caratteri non numerici utilizzati per la visualizzazione o l’output leggibile dall’uomo in una forma che un computer può manipolare. In un’applicazione più specifica, i documenti HyperText Markup Language (HTML) che vengono letti dai browser Web possono definire il tipo di codifica dei caratteri che stanno utilizzando per consentire al browser di sapere quale set di caratteri specifico utilizzare durante la visualizzazione delle informazioni nel documento. Esistono diversi schemi di codifica in uso, sebbene molti di questi set proprietari e legacy vengano lentamente sostituiti dallo standard di codifica Unicode®.
Agli albori dei computer, quando lo spazio di memoria era limitato, i caratteri di base dell’alfabeto inglese, inclusi punteggiatura e numeri, venivano memorizzati in sequenze a 7 bit che consentivano 128 caratteri diversi. In questo schema originale, ogni byte a 7 bit rappresentava un carattere dell’alfabeto inglese, numerato in sequenza. Questa codifica dei caratteri era efficiente e alla fine è stata standardizzata e utilizzata nella maggior parte dei computer prodotti. Sebbene il sistema di codifica si sia evoluto nello standard di codifica Unicode®, il concetto è rimasto lo stesso. Vale a dire, ogni singolo carattere in una lingua è direttamente correlato a un singolo numero all’interno di un ampio set di caratteri standard e quel numero è ciò che un computer utilizza per memorizzare, elaborare e indicizzare il carattere.
Altri tipi di codifica dei caratteri sono stati sviluppati per ragioni diverse. Alcuni che erano specificamente orientati all’alfabeto inglese e destinati ad essere utilizzati per il testo mappavano i loro caratteri solo su sequenze a 7 bit e poi li distribuivano su byte o ottetti a 8 bit. Ciò ha avuto l’effetto di salvare 1 bit per ottetto, utilizzando efficacemente la codifica dei caratteri come un tipo di compressione. Altri schemi di codifica hanno tentato di fornire informazioni di base su un carattere e quindi caratteri aggiuntivi per rappresentare accenti speciali che potrebbero essere utilizzati durante la scrittura in una lingua diversa, sebbene questi siano stati in gran parte abbandonati per i metodi di codifica uno a uno più semplici.
Nei documenti HTML, la codifica dei caratteri è più o meno la stessa del concetto più ampio, tranne che la codifica che viene definita comprende un intero set di caratteri. Questo può essere importante non solo per le lingue straniere, ma per i documenti che utilizzano simboli specifici per la scienza o la matematica che non sono presenti in tutti i set di caratteri. Può anche essere utile per usare la punteggiatura e altri glifi che potrebbero non essere presenti o essere mappati in modo diverso tra gli schemi di codifica. I documenti che non definiscono correttamente una codifica dei caratteri non standard potrebbero essere visualizzati in modo errato o essere riempiti con caratteri e segnaposto senza senso invece di informazioni leggibili.