Розглянемо детальніше, що таке кодування повідомлень, а також декодування інформації.
Для передачі інформації люди використовують природні мови.
У повсякденному житті ми спілкуємося з допомогою неформальної мови, а в діловій сфері використовуємо формальний мову.
Сьогодні для передачі і відображення інформації ми використовуємо обчислювальну техніку, яка «не розуміє» наш язик без спеціальних операцій – кодування і декодування.
Розглянемо ці поняття детальніше, а також усі види і наочні приклади кодування/декодування.
Зміст:
Зміст
Базові поняття
Перш ніж розібратися з основами процедури кодування, слід ознайомитися з кількома простими поняттями.
Наприклад, комп’ютер, смартфон, ноутбук і будь-які інші комп’ютерні пристрої працюють з двійковим кодом.
Двійковий код використовують алфавіт, який складається з двох символів – «0» і «1».
В комп’ютерній техніці кодування відбувається, коли користувач вводить будь-яку інформацію в систему – створює файли, друкує текст і так далі.
Для розуміння звичайних літер кирилиці або латиниці вони перетворюються в набір нулів і одиниць.
Щоб з’явитися на екрані комп’ютера, система проводить декодування числової послідовності і виводить результат на екран.
Всі ці дії виконуються за тисячні частки секунди.
Історія розвитку кодування
Телеграф Шаппа
Першим технічним засобом кодування даних був створений в 1792 році телеграф Шаппа.
Пристрій передавало оптичну інформацію у найпростішому вигляді з допомогою спеціальної таблиці кодів, в якій кожній літері латинського алфавіту відповідала одна фігура.
В результаті, телеграф міг відобразити і передати набір фігур.
Швидкість передачі таких повідомлень становила всього два слова в хвилину.
Телеграф Морзе
Створений у 1837 році телеграф Морзе став революційному пристроєм кодування/декодування інформації.
Принцип кодування укладався в перетворенні будь-якого повідомлення в три символи алфавіту:
- Довгий сигнал – тире;
- Короткий сигнал – точка;
- Немає сигналу – пауза.
Подібна зв’язок використовується донині в морехідної сфері для миттєвої передачі повідомлень між суднами.
Радіоприймач
У 1899 році А. Попов створив перший у світі бездротовий телеграф або радіоприймач.
Принцип його роботи полягав у кодуванні електричних сигналів азбукою Морзе та її подальшої передачі на тривалі відстані.
Пізніше був винайдений телеграф Бодо, який вирішував проблему нерівномірності коду і складність декодування.
Читайте також:
Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу
Як включити Java в Google Chrome — Повне керівництво
Програми для шифрування файлів: Які краще вибрати?
50+ кращих безкоштовних шаблонів для WordPress блогу, журналу, агентства, портфоліо, і корпоративного веб-сайту 2017
Unity Web Player: що це за програма і навіщо потрібна — розбираємося разом
Сучасні способи кодування даних
Для переведення інформації в код можуть бути використані різні способи і алгоритми кодування.
Використання кожного з методів залежить від середовища, мети і умов створення коду.
З різними алгоритмами кодування ми стикаємося в повсякденному житті:
- Для запису усного мовлення в режимі реального часу використовується стенографія;
- Для написання і відправлення листа жителя іншої країни використовуємо мову одержувача;
- Для набору російського тексту на англійській клавіатурі використовуємо трансліт. Наприклад, «Привіт»>«Privet» і так далі.
Двійкове кодування та інші числові системи
Найпростіший і розповсюджений спосіб кодування – це представлення інформації у двійковому (бінарному) коді.
З його допомогою працюють всі комп’ютери і обчислювальні системи.
Комп’ютер може виконувати швидкі обчислення з допомогою лише двох умов – наявності струму і його напруга.
З допомогою одиниць передається високу напругу, а з допомогою нулів – низьке.
Для перекладу звичних нам слів, цифр та символів у десяткове подання слід використовувати спеціальні таблиці конверсії.
На рисунку зображена таблиця для цифр і символів розкладки, а також для букв латиниці.
Наприклад, у результаті перекладу фрази «Hello, how are you?» отримаємо послідовність«10010001000101100110010011001001111010110001000001001000100111110101110100001000001101001010001010100000101100110011111010101».
Щоб виконати декодування інформації, необхідно розділити бінарний код на частини, кожна з яких дорівнює семи осередкам:
- 1001000 – символ «H»
- 1000101 – символ «E»
- 1001100 – символ «L»
- 1001100 – символ «L»
- 1001111 – символ «O»
- 0101100 – символ «,» і так далі, поки вся послідовність не буде декодована.
Також, в теорії кодування можна зустріти не тільки двійкову систему, але і трійкову, четверту, п’яту, шосту…шістнадцяткову й інші системи.
Шістнадцяткова система числення використовується у мовах програмування низького рівня.
Таким чином, вдається домогтися більш швидкого виконання коду центральним процесором. Прикладом такої мови є машинний код асемблер.
Так шістнадцяткова система декодується в двійкову.
Рис.3 – приклад декодування мов програмування різних рівнів
Також, шістнадцяткова система використовується в створенні програмної документації, так набагато простіше записувати байти.
Для позначення одного байту потрібно тільки дві шістнадцядкові цифри, а не вісім, як у двійковій системі.
Онлайн-кодувальники
Для швидкого перетворення будь-якого тексту набір символів бінарної чи інших систем числення зручніше використовувати автоматичні коди.
Також, вони можуть декодувати текст, самостійно визначаючи, яку систему користувач використовував для кодування.
Популярним сервісом для створення або розшифровки двійкового коду є DecodeIT .
Рис.4 — Сервіс DecodeIT
Кодування символів
Для кодування символів використовуються різні стандарти, серед яких Юнікод, ASCII, UTF-8 та інші.
Навіщо потрібна кодування символів?
Будь-які символи на екрані комп’ютера або смартфона відображаються за рахунок двох речей:
1 Векторного подання;
2 Встановлених знаків та їх коду.
Знаки – це шрифти, які підтримуються пристроєм. В ОС Windows вони знаходяться у вікні Панель управління (директорія «Шрифти»).
За допомогою цієї папки ви можете додавати або видаляти існуючі представлення символів.
За допомогою програмного коду вибирається потрібний векторний напрямок символу і його зображення з папки «Шрифти».
Таким чином, на екрані з’являється буква і текст.
За встановлення шрифтів відповідає операційна система вашого комп’ютера, а за кодування тексту – програми, в яких ви набираєте або переглядаєте текстові дані.
Розбираючи код, програма обробляє кодування знака і шукає його відповідність в підтримуваному для цього ж документа шрифті.
Якщо відповідності не знайдено, замість тексту ви побачите набір незрозумілих символів.
Рис.5 – приклад помилки кодування символів у Блокноті Windows
Щоб символи кирилиці і латиниці відкривалися без проблем у більшості програм, було запропоновано запровадити стандарти кодування.
Один з найбільш популярних – це Юнікод (або Unicode).
Він підтримується практично всіма існуючими шрифтами і програмним забезпеченням.
Також, широко використовуються технології UTF-8, ASCII.
Для цього досить зайти в налаштування текстового редактора і зберегти файл з кодуванням Юнікод або іншими популярними форматами кодування.
Потім відкрийте файл заново, текст повинен відображатися в нормальному режимі.
Рис.6 – декодування тексту у редакторі
Читайте також:
Як створити додаток для iOS – від ідеї до продажу
Налаштування Bios — Детальна інструкція в картинках
Інструменти для програмування під Андроїд: софт для написання додатків
Powershell: як працювати з програмою, створювати, запускати і змінювати скрипти
Шифрування
Часто виникає необхідність не тільки закодувати інформацію, але і приховати її вміст від сторонніх.
Для таких цілей використовується шифрування.
Простими словами, шифрування – це кодування інформації, але не з метою її правильного подання на екрані комп’ютера, а з метою приховування даних від тих, кому не належить отримувати доступ до шифрованого інформації.
Алфавіт шифрування складається з двох елементів:
-
Алгоритм – унікальна послідовність математичних дій з двійковими числами;
-
Ключ – бінарна послідовність, яка додається до шифруемому повідомленням.
Дешифрування – це зворотний процес до захисного кодування, який передбачає перетворення даних в початковий вид з допомогою відомого ключа.
Криптографія – це наука про шифрування даних. Усього розрізняють два розділу криптографії:
- Симетрична – в таких криптосистемах кодування для шифрування і дешифрування використовують один і той же ключ. Недолік системи – низька стійкість до злому;
- Асиметрична – для шифрування використовуються закритий і відкритий ключ. Таким чином, стороння людина не зможе розшифрувати (декодувати) повідомлення, навіть якщо алгоритм відомий.
Де використовується криптографія?
Кодування інформації з метою шифрування використовується вже більше трьох тисяч років.
Історії відомі перші спроби шифрованого передачі повідомлень між відомими полководцями царями і просто високопоставленими людьми.
Також, зашифроване кодування використовується в звичайних соціальних мережах і месенджерах.
Приміром, Telegram – месенджер, головною особливістю якого є кодування повідомлень користувачів таким чином, щоб ніхто сторонній не зміг зламати листування.
Також, алгоритми шифрування вбудовані під всі операційні системи, хмарні сховища.
Вони потрібні для захисту ваших особистих даних.
Рис.7 – принцип роботи захищеного з’єднання
Стеганографія
Він схожий із згаданої вище криптографією, але якщо основною метою криптографії є захист секретної інформації, то стеганографія відповідає за приховування самого факту про те, що існують які-небудь дані захищені.
Процедура стенографічного кодування передбачає вбудовування повідомлення картинки, музику, відео і так далі.
Кожна буква секретного повідомлення кодується в бінарну форму, потім вона заміняє один з пікселів.
Таким чином, можна закодувати навіть великі повідомлення без будь-якого візуального зміни фотографії, так як на сучасних гаджетах не видно окремі пікселі зображення.
Аналогічним чином відбувається кодування звуку в музику, кожній частоті присвоюється певна буква.
Декодувати стенографічний інформацію можна тільки за допомогою спеціальних утиліт, які і зашифрували повідомлення або шляхом злому.
Досить зіставити зображення до і після вбудовування секретного тексту, кількість пікселів буде відрізнятися.
Потім використовується спеціальне ПЗ для перебору і розшифровки кожного пікселя і відтворення повідомлення.
Читайте також:
Що таке jQuery: де використовується і які переваги дає розробникам
Швидкість оперативної пам’яті впливає на ігри і роботу в програмах?
Dropbox — що це за програма і як її використовувати: [інструкція]
Розповідаємо про NDA: як правильно оформити договір і яка є відповідальність за його порушення
Підсумок
Кодування інформації використовується сотні років для зручної передачі даних між пристроями.
З розвитком технологій і перенесенням банківської сфери в технічну середу з’явилася необхідність у використанні алгоритмів кодування, які б шифрували інформацію, зберігаючи її від несанкціонованого доступу.
Сьогодні без технологій кодування даних неможлива робота жодного комп’ютера, смартфона, сайту або банківського рахунку.
Тематичні відеоролики: