Kodiranje znakova, u računalnom programiranju, je metoda ili algoritam koji se koristi za pronalaženje obično numeričkog prikaza znaka, glifa ili simbola. Korištenje kodiranja znakova u računalima je neophodno jer se informacije unutar memorije računala i na računalno čitljivim medijima pohranjuju kao nizovi bitova ili brojeva. To zahtijeva korištenje kodiranja za prevođenje nenumeričkih znakova koji se koriste za prikaz ili čovjeku čitljiv izlaz u oblik kojim računalo može manipulirati. U specifičnijoj aplikaciji, dokumenti HyperText Markup Language (HTML) koje čitaju web-preglednici mogu definirati koju vrstu kodiranja znakova koriste kako bi pregledniku dali do znanja koji određeni skup znakova treba koristiti prilikom prikazivanja informacija u dokumentu. U upotrebi je nekoliko shema kodiranja, iako se mnogi od tih vlasničkih i naslijeđenih skupova polako zamjenjuju Unicode® standardom kodiranja.
U ranim danima računala, kada je postojao ograničen memorijski prostor, osnovni znakovi engleske abecede – uključujući interpunkciju i brojeve – bili su pohranjeni u 7-bitnim sekvencama dopuštajući 128 različitih znakova. U ovoj originalnoj shemi, svaki 7-bitni bajt predstavljao je jedan znak engleske abecede, numeriran u nizu. Ovo je kodiranje znakova bilo učinkovito i na kraju je standardizirano i korišteno u većini proizvedenih računala. Iako je sustav kodiranja evoluirao u Unicode® standard za kodiranje, koncept je ostao isti. Naime, svaki pojedinačni znak u jeziku izravno je povezan s jednim brojem unutar velikog standardnog skupa znakova, a taj broj računalo koristi za pohranu, obradu i indeksiranje znaka.
Druge vrste kodiranja znakova razvijene su iz različitih razloga. Neki koji su bili posebno prilagođeni engleskoj abecedi i namijenjeni korištenju za tekst samo su preslikavali svoje znakove na 7-bitne sekvence, a zatim ih širili na 8-bitne bajtove ili oktete. To je imalo učinak uštede 1 bita po oktetu, učinkovito koristeći kodiranje znakova kao vrstu kompresije. Druge sheme kodiranja pokušale su pružiti osnovne informacije o znaku, a zatim i dodatne znakove za predstavljanje posebnih naglasaka koji bi se mogli koristiti pri pisanju na drugom jeziku, iako su oni uglavnom napušteni zbog jednostavnijih metoda kodiranja jedan na jedan.
U HTML dokumentima, kodiranje znakova je otprilike isto kao i širi koncept, osim što definirano kodiranje obuhvaća cijeli skup znakova. To može biti važno ne samo za strane jezike, već i za dokumente koji koriste specifične simbole za znanost ili matematiku koji nisu prisutni u svim skupovima znakova. Također može biti korisno za korištenje interpunkcijskih znakova i drugih glifova koji možda nisu prisutni ili su različito mapirani u shemama kodiranja. Dokumenti koji ne definiraju ispravno nestandardno kodiranje znakova mogli bi se pogrešno prikazati ili biti ispunjeni besmislenim znakovima i rezerviranim mjestima umjesto čitljivih informacija.