Разлика између кодирања и декодирања

Жена слуша музику на мобилном телефону

Музичке датотеке се обично кодирају помоћу МП3 кодека.

Кредит за слику: Пурестоцк/Пурестоцк/Гетти Имагес

Кодирање је процес превођења података између два формата према скупу правила или формули. На пример, можете да кодирате „абц“ у „АБЦ“ користећи правила од малих у велика слова. Декодирање је инверзни процес. Можете декодирати "АБЦ" у "абц" користећи исти скуп правила. Постоји много различитих апликација за кодирање и декодирање података. Шифровање, на пример, је облик кодирања који користи кључ. Без кључа, кодирани подаци се не могу декодирати. Видео подаци су кодирани да би били мањи тако да се видео токови високе дефиниције могу гледати преко Интернета.

Кодирање се обично користи за смањење величине аудио и видео података. Програм кодер-декодер, назван кодек, примењује низ математичких алгоритама који елиминишу сувишне податке. На пример, претпоставимо да датотека садржи податке „АБЦДКАБЦ“. Алгоритам кодека #1 би могао бити замена „АБЦ“ са „З“. Добијени фајл би био „ЗДКЗ“, који је 50 процената мањи од оригинала фајл. Алгоритам кодека #2 би могао да замени "АБЦ?" са "И" и "?АБЦ" са "Кс", где је "?" означава било који знак. Добијени фајл би био „ИКС“, који је 75 процената мањи од оригиналног фајла.

Видео дана

Декодирање користи исти кодек за реконструкцију оригиналне датотеке из кодиране датотеке. На пример, примена кодека #1 на „ЗДКЗ“ у обрнутом смеру замењује „З“ са „АБЦ“ да би се креирала оригинална датотека „АБЦДКАБЦ“. Кодек #1, који је био 50 посто мањи, назива се кодек без губитака јер декодирање увек поново креира оригинал фајл. Кодек #2 декодира "ИКС" са "АБЦ?? АБЦ“, а затим покушава да погоди који су ликови који недостају. Кодек може погодити „ДЕ“, што резултира „АБЦДЕАБЦ“. Кодек #2, који је био 75 посто мањи, је а кодек са губицима, јер процес декодирања може створити датотеку која је блиска оригиналу, али не идентичне.

УРЛ адресе и скупови знакова

Не даје свако кодирање резултат који је мањи од некодираних података. На пример, УРЛ „екампле.цом/Тајна живота.хтмл“ је неважећи јер садржи размаке. Веб програмер кодира УРЛ, који замењује све размаке са „%20“ за креирање "екампле.цом/Тајна%20оф%20Лифе.хтмл." Процес декодирања врши инверзну операцију и замењује „%20“ размаком. Слично, програм базе података може кодирати све податке у Уницоде, главни скуп знакова на већини језика. Када корисник преузме податке, програм декодира Уницоде да би одговарао корисниковим поставкама језика и тастатуре.

Кодирање које се не може декодирати

Нека кодирања нису намењена за декодирање. Хеш је дугачак низ насумичних знакова који се користе са алгоритмом за кодирање да би се произвео шифровани резултат који се не може декодирати, чак и када знате хеш. На пример, лозинка корисника може бити шифрована хешом и ускладиштена у бази података. Ако хакер пронађе базу података, не може да декодира ниједну лозинку. Када се корисник пријави, систем кодира лозинку коју корисник унесе са хешом и упоређује резултат са оним сачуваним у бази података. Ако корисник заборави лозинку, мора да је промени, јер систем не зна његову оригиналну лозинку, већ само њену шифровану вредност.