Különbség a kódolás és a dekódolás között

Nő hallgat zenét egy mobiltelefon

A zenefájlokat általában MP3 kodekkel kódolják.

Kép jóváírása: Purestock/Purestock/Getty Images

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 kis-nagybetűs szabályok használatával. 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 úgy kódolták, hogy azok kisebbek legyenek, így a nagyfelbontású videófolyamok megtekinthetők az interneten keresztül.

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. Codec algoritmusa lehet, hogy le kell cserélni "ABC" és "Z." Az eredményül kapott fájl a „ZDQZ” lesz, amely 50 százalékkal kisebb, mint az eredeti fájlt. A Codec #2 algoritmusa helyettesítheti az "ABC?" "Y"-vel és "?ABC"-vel "X"-szel, 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.

A nap videója

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 eredetit. fájlt. Codec #2 dekódolja "YX" az "ABC?? ABC", majd megpróbálja kitalálni, 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, a veszteséges kodek, mert a dekódolási folyamat létrehozhat egy olyan fájlt, 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 minden szóközt "%20"-ra cserél a létrehozáshoz "example.com/Secret%20of%20Life.html." A dekódolási folyamat az inverz műveletet és "%20" 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 a felhasználó jelszava titkosítva van egy hash-sel, és adatbázisban tárolható. Ha egy hacker megtalálja az adatbázist, nem tudja dekódolni a jelszavakat. Amikor egy 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, azt meg kell változtatnia, mert a rendszer nem ismeri az eredeti jelszavát, csak a titkosított értékét.