Різниця між кодуванням і декодуванням

click fraud protection
Жінка слухає музику на мобільному телефоні

Музичні файли зазвичай кодуються за допомогою кодека MP3.

Авторство зображення: Purestock/Purestock/Getty Images

Кодування – це процес перекладу даних між двома форматами відповідно до набору правил або формули. Наприклад, ви можете закодувати "abc" в "ABC", використовуючи правила від нижнього до верхнього регістру. Декодування - це зворотний процес. Ви можете декодувати "ABC" в "abc", використовуючи той самий набір правил. Існує багато різних програм для кодування та декодування даних. Шифрування, наприклад, є формою кодування, яка використовує ключ. Без ключа закодовані дані неможливо розшифрувати. Відеодані кодуються, щоб зменшити їх розмір, щоб потоки відео високої чіткості можна було переглядати через Інтернет.

Кодування зазвичай використовується для зменшення розміру аудіо- та відеоданих. Програма-кодер-декодер, яка називається кодеком, застосовує ряд математичних алгоритмів, які усувають зайві дані. Наприклад, припустимо, що файл містить дані «ABCDQABC». Алгоритм кодека №1 може бути замінений «ABC» із «Z». Отриманий файл буде «ZDQZ», який на 50 відсотків менший за оригінал файл. Алгоритм кодека №2 може замінити "ABC?" з "Y" і "?ABC" з "X", де "?" вказує на будь-який символ. Отриманий файл буде "YX", який на 75 відсотків менший за вихідний файл.

Відео дня

Декодування використовує той самий кодек для відновлення вихідного файлу із закодованого файлу. Наприклад, застосування кодека №1 до «ZDQZ» у зворотному порядку замінює «Z» на «ABC», щоб створити вихідний файл «ABCDQABC». Кодек № 1, який був на 50 відсотків меншим, називається кодеком без втрат, оскільки декодування завжди відтворює оригінал файл. Кодек №2 декодує "YX" з "ABC?? ABC», а потім намагається вгадати, які символи відсутні. Кодек може вгадати "DE", що призводить до "ABCDEABC". Кодек №2, який був на 75 відсотків меншим, є a кодек із втратами, оскільки процес декодування може створити файл, близький до оригіналу, але ні ідентичні.

URL-адреси та набори символів

Не всяке кодування дає результат, менший за незакодовані дані. Наприклад, URL-адреса "example.com/Secret of Life.html" недійсна, оскільки містить пробіли. Веб-програміст кодує URL-адресу, яка для створення замінює всі пробіли на «%20». "example.com/Secret%20of%20Life.html." Процес декодування виконує зворотну операцію і замінює "%20" пробілом. Аналогічно, програма бази даних може кодувати всі дані в Unicode, основний набір символів у більшості мов. Коли користувач отримує дані, програма декодує Unicode, щоб відповідати його мові та налаштуванням клавіатури.

Кодування, яке не можна декодувати

Деякі кодування не призначені для декодування. Хеш — це довгий рядок випадкових символів, які використовуються з алгоритмом кодування для отримання зашифрованого результату, який неможливо розшифрувати, навіть якщо вам відомий хеш. Наприклад, пароль користувача може бути зашифрований хешем і збережений в базі даних. Якщо хакер знаходить базу даних, він не може розшифрувати паролі. Коли користувач входить в систему, система кодує пароль, який користувач вводить з хешем, і порівнює результат із тим, що зберігається в базі даних. Якщо користувач забув свій пароль, він повинен його змінити, оскільки система не знає його оригінального пароля, а лише його зашифроване значення.