Karakterkódolási rendszer egy olyan módszer az informatikában, amely a számok, betűk és más hasonló adatok megjelenítésével foglalkozik, aminek az alapja az, hogy minden karakterhez egy-egy egyedi szám van hozzárendelve. Hasonlóan a Morzekódhoz, ahol a távbillentyű hosszú vagy rövid lenyomásának kombinációi határoztak meg egy karaktert.
Ez a fajta kódrendszer a latin ábécé betűit és az arab számokat tartalmazta. Az 1963-as fejlesztésű ASCII 7 bites rendszerrel rendelkezett, ám ezek egy idő után beteltek és nem tudtak az új szimbólumokhoz egyedi számsorozatot rendelni, ez pedig szükséges lett volna a kelet-ázsiai nyelvek írásszimbólumainak implementálásához. Tehát jól látszik, hogy egy-egy ilyen kódrendszer hibája lehet az, hogy a sokféle szimbólumoknak (például: cirill, héber, kínai, japán, koreai írásjelek) csak egy csoportját képes reprezentálni. Ehhez közel álló probléma a latin ábécé betűivel író, de írásban az 'ss' hangjának leírásához használatos ligatúrát, a scharfes s-t (ß) használó német nyelv esete, ahol ezt a szimbólumot csak a Unicode nevű karakterkódolás tudja kezelni.
Néhány kínai és indiai nyelv írásbeli sajátosságai szintén problémát jelentenek a karakterkódolással foglalkozó informatikusok számára. Jelölhet hangsúlyt vagy magasabb illetve mélyebb hangon való kiejtést is, egy adott betű mellékjele. De hasonló problémát jelent a csak konszonánsokat (mássalhangzókat) író arab és héber nyelvek is, ahol magánhangzókat, ezzel együtt az adott szó jelentését is, a kontextus határozza meg, így egy szimbólumsornak akár egymástól eltérő jelentései és kiejtései is lehetnek más-más kontextusokban, amit jelölhetnek mellékjelekkel is akár. Mellékjelből pedig millió fajta lehetséges, ráadásul a karaktereket a mellékjeleikkel együtt teljesen felesleges új számsorral ellátni. A következő problémát a szótagíró nyelvek jelentik, ahol szintén a mellékjelezés az, ami döntő lehet a jelentéssel kapcsolatban, ráadásul ezek a mellékjelek bárhol megjelenhetnek az alapkarakter körül. Az igazi nehézséget mégis a kínai jelenti, hiszen egy karakterben egyszerre reprezentálódik a jelentése és a kiejtése is. A koreai írás pedig egyszerre ötvözi a betű és szótagírást is, azaz egyfajta hibrid az írásfajták közül.
Unicode, a szabványosítás
Visszatérve az ASCII-hez, ezeket a sokrétű szimbólumrendszereket már nem tudta befogdani. Ezek után több fajta karakterkódolást is írtak, de ezek is csak egy-egy rendszert tudtak reprezentálni. Az ISO-8859-7 a görög betűkhöz, az ISO-8859-8 pedig a héberhez volt megfelelő. Ezek hátránya az volt, hogy sokszor használtak ugyanahoz a karakterhez több számsort vagy éppen fordítva. A Unicode ezt a problémát küszöbölte ki. Közel 109 ezer karaktert képes reprezentálni, azaz egy nemzetközi szabványt állított fel az egységes karakterkódolással. A szabvány 16 biten tárolt síkokra osztja ezt a közel 109 ezer karaktert, így a legtöbbet használt karaktereink már az első 64 ezres síkban megtalálhatóak, akkora kapacitással rendelkezik.