Codificarea caracterelor, în programarea computerelor, este o metodă sau un algoritm folosit pentru a găsi o reprezentare de obicei numerică a unui caracter, glif sau simbol. Utilizarea codificării caracterelor în computere este necesară deoarece informațiile din memoria computerului și pe medii care pot fi citite de computer sunt stocate ca secvențe de biți sau numere. Acest lucru necesită utilizarea codificării pentru a traduce caractere nenumerice care sunt utilizate pentru afișare sau rezultate care pot fi citite de om într-o formă pe care un computer o poate manipula. Într-o aplicație mai specifică, documentele HTML (HyperText Markup Language) care sunt citite de browserele web pot defini ce tip de codificare de caractere folosesc pentru a informa browserul ce set de caractere specific să folosească atunci când afișează informațiile din document. Există mai multe scheme de codare în uz, deși multe dintre aceste seturi proprietare și vechi sunt înlocuite încet de standardul de codificare Unicode®.
În primele zile ale computerelor, când spațiul de memorie era limitat, caracterele de bază ale alfabetului englez – inclusiv semnele de punctuație și numerele – erau stocate în secvențe de 7 biți, permițând 128 de caractere diferite. În această schemă originală, fiecare octet de 7 biți reprezenta un caracter al alfabetului englez, numerotat în ordine. Această codificare a caracterelor a fost eficientă și în cele din urmă a fost standardizată și utilizată în majoritatea computerelor care au fost produse. Deși sistemul de codificare a evoluat în standardul de codificare Unicode®, conceptul a rămas același. Și anume, fiecare caracter dintr-o limbă este direct legat de un singur număr dintr-un set standard mare de caractere, iar acel număr este ceea ce folosește un computer pentru a stoca, procesa și indexa caracterul.
Alte tipuri de codificare a caracterelor au fost dezvoltate din diferite motive. Unele care au fost adaptate în mod special la alfabetul englez și destinate să fie folosite pentru text doar și-au mapat caracterele pe secvențe de 7 biți și apoi le-au răspândit pe octeți sau octeți de 8 biți. Acest lucru a avut ca efect salvarea a 1 bit per octet, folosind efectiv codificarea caracterelor ca tip de compresie. Alte scheme de codare au încercat să ofere informații de bază despre un caracter și apoi caractere suplimentare pentru a reprezenta accente speciale care ar putea fi utilizate atunci când scrieți într-o altă limbă, deși acestea au fost în mare parte abandonate pentru metodele de codare unu-la-unu mai simple.
În documentele HTML, codificarea caracterelor este aproximativ aceeași cu conceptul mai larg, cu excepția faptului că codarea definită cuprinde un întreg set de caractere. Acest lucru poate fi important nu numai pentru limbile străine, ci și pentru documentele care folosesc simboluri specifice pentru știință sau matematică care nu sunt prezente în toate seturile de caractere. De asemenea, poate fi util pentru utilizarea semnelor de punctuație și a altor simboluri care ar putea să nu fie prezente sau care sunt mapate diferit în cadrul schemelor de codificare. Documentele care nu definesc corect o codificare a caracterelor non-standard ar putea fi afișate incorect sau pot fi umplute cu caractere fără sens și substituenți în loc de informații care pot fi citite.