Rozdiel medzi kódovaním a dekódovaním

Žena počúva hudbu na mobilnom telefóne

Hudobné súbory sú bežne kódované pomocou kodeku MP3.

Kredit za obrázok: Purestock/Purestock/Getty Images

Kódovanie je proces prekladu údajov medzi dvoma formátmi podľa súboru pravidiel alebo vzorca. Môžete napríklad zakódovať „abc“ do „ABC“ pomocou pravidiel na delenie malých písmen na veľké. Dekódovanie je opačný proces. Pomocou rovnakého súboru pravidiel môžete dekódovať „ABC“ na „abc“. Existuje mnoho rôznych aplikácií na kódovanie a dekódovanie údajov. Šifrovanie je napríklad forma kódovania, ktorá používa kľúč. Bez kľúča nie je možné zakódované dáta dekódovať. Video dáta sú zakódované tak, aby boli menšie, takže toky videa s vysokým rozlíšením je možné prezerať cez internet.

Kódovanie sa bežne používa na zmenšenie veľkosti audio a video dát. Program kodéra-dekodéra, nazývaný kodek, aplikuje sériu matematických algoritmov, ktoré eliminujú nadbytočné dáta. Predpokladajme napríklad, že súbor obsahuje údaje "ABCDQABC." Algoritmus kodeku č. 1 môže byť nahradený "ABC" so "Z." Výsledný súbor by bol "ZDQZ", ktorý je o 50 percent menší ako originál súbor. Algoritmus kodeku č. 2 môže nahradiť "ABC?" s "Y" a "?ABC" s "X", kde "?" označuje ľubovoľný znak. Výsledný súbor by bol "YX", čo je o 75 percent menšie ako pôvodný súbor.

Video dňa

Dekódovanie používa rovnaký kodek na rekonštrukciu pôvodného súboru zo zakódovaného súboru. Napríklad použitie kodeku #1 na "ZDQZ" v opačnom poradí nahradí "Z" s "ABC", aby sa vytvoril pôvodný súbor "ABCDQABC." Kodek #1, ktorý bol o 50 percent menší, sa nazýva bezstratový kodek, pretože dekódovanie vždy obnoví pôvodný súbor. Kodek #2 dekóduje "YX" s "ABC?? ABC,“ a potom sa pokúsi uhádnuť, ktoré chýbajúce znaky sú. Kodek môže uhádnuť „DE“, čo vedie k „ABCDEABC“. Kodek #2, ktorý bol o 75 percent menší, je a stratový kodek, pretože proces dekódovania môže vytvoriť súbor, ktorý je blízky originálu, ale nie identické.

URL a znakové sady

Nie každé kódovanie poskytuje výsledok, ktorý je menší ako nekódované údaje. Napríklad adresa URL „example.com/Secret of Life.html“ je neplatná, pretože obsahuje medzery. Webový programátor zakóduje adresu URL, ktorá nahradí všetky medzery znakom „%20“. "example.com/Secret%20of%20Life.html." Proces dekódovania vykonáva inverznú operáciu a nahradí "%20" medzerou. Podobne môže databázový program zakódovať všetky údaje do Unicode, hlavnej sady znakov vo väčšine jazykov. Keď používateľ načíta údaje, program dekóduje kód Unicode tak, aby zodpovedal nastaveniam jazyka a klávesnice používateľa.

Kódovanie, ktoré sa nedá dekódovať

Niektoré kódovania nie sú určené na dekódovanie. Hash je dlhý reťazec náhodných znakov používaných s kódovacím algoritmom na vytvorenie zašifrovaného výsledku, ktorý nemožno dekódovať, aj keď poznáte hash. Napríklad heslo používateľa môže byť zašifrované pomocou hash a uložené v databáze. Ak hacker nájde databázu, nedokáže dekódovať žiadne heslá. Keď sa používateľ prihlási, systém zakóduje heslo, ktoré používateľ zadá, s hashom a porovná výsledok s tým, ktoré je uložené v databáze. Ak používateľ zabudne heslo, musí si ho zmeniť, pretože systém nepozná jeho pôvodné heslo, iba jeho zašifrovanú hodnotu.