Különbség a kódolás és a dekódolás között
A kódolás az adatok két formátum közötti lefordításának folyamata egy szabálykészlet vagy egy képlet szerint. Például az "abc" kódot "ABC"-re kódolhatja kisbetűről nagybetűre való szabályokkal. A dekódolás fordított folyamat. Ugyanazzal a szabálykészlettel dekódolhatja az "ABC"-t "abc"-re. Számos különböző alkalmazás létezik az adatok kódolására és dekódolására. A titkosítás például a kódolás egyik formája, amely kulcsot használ. Kulcs nélkül a kódolt adatok nem dekódolhatók. A videoadatokat kódolással csökkentik, így a nagyfelbontású videófolyamok megtekinthetők az interneten keresztül.
Médiakódolás
A kódolást általában az audio- és videoadatok méretének csökkentésére használják. A kódoló-dekódoló program, az úgynevezett kodek, matematikai algoritmusok sorozatát alkalmazza, amelyek kiküszöbölik a redundáns adatokat. Tegyük fel például, hogy egy fájl az „ABCDQABC” adatot tartalmazza. Az 1. kodek algoritmusa az lehet, hogy az "ABC"-t "Z"-re cseréli. Az eredményül kapott fájl a „ZDQZ”, amely 50 százalékkal kisebb, mint az eredeti fájl. A Codec #2 algoritmusa helyettesítheti az "ABC?" "Y"-vel és "?ABC"-vel "X"-el, ahol "?" bármely karaktert jelöl. Az eredményül kapott fájl „YX” lesz, amely 75 százalékkal kisebb, mint az eredeti fájl.
Média dekódolás
A dekódolás ugyanazt a kodeket használja az eredeti fájl helyreállításához egy kódolt fájlból. Például a Codec #1 alkalmazása a "ZDQZ" kódra fordított sorrendben a "Z" helyett "ABC" jön létre az eredeti "ABCDQABC" fájl létrehozásához. Az 1-es kodeket, amely 50 százalékkal kisebb volt, veszteségmentes kodeknek nevezik, mivel a dekódolás mindig újra létrehozza az eredeti fájlt. Codec #2 dekódolja az "YX"-et az "ABC??ABC"-vel, majd megpróbálja kitalálni, hogy mik a hiányzó karakterek. A kodek kitalálhatja a „DE”-t, ami „ABCDEABC”-t eredményez. A 2. kodek, amely 75 százalékkal kisebb volt, veszteséges kodek, mivel a dekódolási folyamat olyan fájlt hozhat létre, amely közel áll az eredetihez, de nem azonos.
URL-ek és karakterkészletek
Nem minden kódolás ad kisebb eredményt, mint a kódolatlan adat. Például az "example.com/Secret of Life.html" URL érvénytelen, mert szóközöket tartalmaz. Egy webprogramozó kódolja az URL-t, amely az összes szóközt „%20”-ra cseréli, így létrejön az „example.com/Secret%20of%20Life.html”. A dekódolási folyamat az inverz műveletet hajtja végre, és a „%20” szót szóközzel helyettesíti. Hasonlóképpen, az adatbázis-programok az összes adatot Unicode-ba kódolhatják, amely a legtöbb nyelv fő karakterkészlete. Amikor a felhasználó adatokat kér le, a program dekódolja a Unicode kódot, hogy megfeleljen a felhasználó nyelvi és billentyűzetbeállításainak.
Nem dekódolható kódolás
Néhány kódolást nem dekódolnak. A hash véletlenszerű karakterekből álló hosszú sorozat, amelyet egy kódoló algoritmus használ fel, hogy olyan titkosított eredményt hozzon létre, amelyet nem lehet dekódolni, még akkor sem, ha ismeri a hash-t. Például előfordulhat, hogy egy felhasználó jelszavát egy hash-sel titkosítják, és egy adatbázisban tárolják. Ha egy hacker megtalálja az adatbázist, nem tudja dekódolni a jelszavakat. Amikor a felhasználó bejelentkezik, a rendszer kódolja a felhasználó által beírt jelszót a hash-sel, és összehasonlítja az eredményt az adatbázisban tárolttal. Ha a felhasználó elfelejti a jelszavát, meg kell változtatnia, mert a rendszer nem ismeri az eredeti jelszavát, csak a titkosított értékét.