Кодування і декодування інформації – історія розвитку, для чого потрібно і де використовується

1548

Розглянемо детальніше, що таке кодування повідомлень, а також декодування інформації.

Для передачі інформації люди використовують природні мови.

У повсякденному житті ми спілкуємося з допомогою неформальної мови, а в діловій сфері використовуємо формальний мову.

Сьогодні для передачі і відображення інформації ми використовуємо обчислювальну техніку, яка «не розуміє» наш язик без спеціальних операцій – кодування і декодування.

Розглянемо ці поняття детальніше, а також усі види і наочні приклади кодування/декодування.

Зміст:

Базові поняття

Перш ніж розібратися з основами процедури кодування, слід ознайомитися з кількома простими поняттями.

Код – це набір символів або інших візуальних позначень інформації, який утворює подання даних. В комп’ютерній техніці під кодом розуміють окрему систему знаків, які використовують для обробки, передачі й зберігання повідомлень і файлів.
Кодування – це процес перетворення текстової інформації в код. Кодів існує величезна кількість. Кожен з них відрізняється своїм алгоритмом роботи і алфавітом.

Наприклад, комп’ютер, смартфон, ноутбук і будь-які інші комп’ютерні пристрої працюють з двійковим кодом.

Двійковий код використовують алфавіт, який складається з двох символів – «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 – приклад декодування мов програмування різних рівнів

Також, шістнадцяткова система використовується в створенні програмної документації, так набагато простіше записувати байти.

Для позначення одного байту потрібно тільки дві шістнадцядкові цифри, а не вісім, як у двійковій системі.

У повсякденному житті ми використовуємо десяткову систему числення, алфавіт якої представлений у вигляді чисел від 0 до 9.

Онлайн-кодувальники

Для швидкого перетворення будь-якого тексту набір символів бінарної чи інших систем числення зручніше використовувати автоматичні коди.

Також, вони можуть декодувати текст, самостійно визначаючи, яку систему користувач використовував для кодування.

Популярним сервісом для створення або розшифровки двійкового коду є DecodeIT .

Ресурс показує високу точність перетворення в обидві сторони і відрізняється дуже простим для користувача інтерфейсом.
Кодування і декодування інформації – історія розвитку, для чого потрібно і де використовується

Рис.4 — Сервіс DecodeIT

Кодування символів

Кодування символів – це ще одна важлива частина роботи будь-якого комп’ютерного пристрою. Від вищеописаних числових систем вона відрізняється тим, що кодування відбувається вже на етапі роботи програми з певним текстом, повідомленням та іншим видом даних.

Для кодування символів використовуються різні стандарти, серед яких Юнікод, ASCII, UTF-8 та інші.

Навіщо потрібна кодування символів?

Будь-які символи на екрані комп’ютера або смартфона відображаються за рахунок двох речей:

1 Векторного подання;

2 Встановлених знаків та їх коду.

Знаки – це шрифти, які підтримуються пристроєм. В ОС Windows вони знаходяться у вікні Панель управління (директорія «Шрифти»).

За допомогою цієї папки ви можете додавати або видаляти існуючі представлення символів.

За допомогою програмного коду вибирається потрібний векторний напрямок символу і його зображення з папки «Шрифти».

Таким чином, на екрані з’являється буква і текст.

За встановлення шрифтів відповідає операційна система вашого комп’ютера, а за кодування тексту – програми, в яких ви набираєте або переглядаєте текстові дані.

Будь-яка програма, наприклад стандартний Блокнот, в процесі відкриття зчитує кодування кожного знака, виконує декодування даних і виводить інформацію для подальшого перегляду або редагування користувачем.

Розбираючи код, програма обробляє кодування знака і шукає його відповідність в підтримуваному для цього ж документа шрифті.

Якщо відповідності не знайдено, замість тексту ви побачите набір незрозумілих символів.

Кодування і декодування інформації – історія розвитку, для чого потрібно і де використовується

Рис.5 – приклад помилки кодування символів у Блокноті Windows

Щоб символи кирилиці і латиниці відкривалися без проблем у більшості програм, було запропоновано запровадити стандарти кодування.

Один з найбільш популярних – це Юнікод (або Unicode).

Він підтримується практично всіма існуючими шрифтами і програмним забезпеченням.

Також, широко використовуються технології UTF-8, ASCII.

Якщо в програмі текст відображається в нечитабельной формі, користувач може самостійно його декодувати.

Для цього досить зайти в налаштування текстового редактора і зберегти файл з кодуванням Юнікод або іншими популярними форматами кодування.

Потім відкрийте файл заново, текст повинен відображатися в нормальному режимі.

Кодування і декодування інформації – історія розвитку, для чого потрібно і де використовується

Рис.6 – декодування тексту у редакторі

Читайте також:

Як створити додаток для iOS – від ідеї до продажу

Налаштування Bios — Детальна інструкція в картинках

Інструменти для програмування під Андроїд: софт для написання додатків

Powershell: як працювати з програмою, створювати, запускати і змінювати скрипти

Шифрування

Часто виникає необхідність не тільки закодувати інформацію, але і приховати її вміст від сторонніх.

Для таких цілей використовується шифрування.

Простими словами, шифрування – це кодування інформації, але не з метою її правильного подання на екрані комп’ютера, а з метою приховування даних від тих, кому не належить отримувати доступ до шифрованого інформації.

Алфавіт шифрування складається з двох елементів:

  • Алгоритм – унікальна послідовність математичних дій з двійковими числами;
  • Ключ – бінарна послідовність, яка додається до шифруемому повідомленням.

Дешифрування – це зворотний процес до захисного кодування, який передбачає перетворення даних в початковий вид з допомогою відомого ключа.

Криптографія – це наука про шифрування даних. Усього розрізняють два розділу криптографії:

  • Симетрична – в таких криптосистемах кодування для шифрування і дешифрування використовують один і той же ключ. Недолік системи – низька стійкість до злому;
  • Асиметрична – для шифрування використовуються закритий і відкритий ключ. Таким чином, стороння людина не зможе розшифрувати (декодувати) повідомлення, навіть якщо алгоритм відомий.

Де використовується криптографія?

Кодування інформації з метою шифрування використовується вже більше трьох тисяч років.

Історії відомі перші спроби шифрованого передачі повідомлень між відомими полководцями царями і просто високопоставленими людьми.

Сьогодні без криптографії неможливе існування всієї банківської системи, адже кожна карта, кожна авторизація в онлайн-банкінгу вимагає наявності захищеного з’єднання, при якому зловмисник не зможе викрасти ваші гроші або підібрати пароль.

Також, зашифроване кодування використовується в звичайних соціальних мережах і месенджерах.

Приміром, Telegram – месенджер, головною особливістю якого є кодування повідомлень користувачів таким чином, щоб ніхто сторонній не зміг зламати листування.

Також, алгоритми шифрування вбудовані під всі операційні системи, хмарні сховища.

Вони потрібні для захисту ваших особистих даних.

Кодування і декодування інформації – історія розвитку, для чого потрібно і де використовується

Рис.7 – принцип роботи захищеного з’єднання

Стеганографія

Стеганографія – це ще один спосіб кодування інформації.

Він схожий із згаданої вище криптографією, але якщо основною метою криптографії є захист секретної інформації, то стеганографія відповідає за приховування самого факту про те, що існують які-небудь дані захищені.

Процедура стенографічного кодування передбачає вбудовування повідомлення картинки, музику, відео і так далі.

Алфавітом такого кодування є область пікселів зображення.

Кожна буква секретного повідомлення кодується в бінарну форму, потім вона заміняє один з пікселів.

Таким чином, можна закодувати навіть великі повідомлення без будь-якого візуального зміни фотографії, так як на сучасних гаджетах не видно окремі пікселі зображення.

Аналогічним чином відбувається кодування звуку в музику, кожній частоті присвоюється певна буква.

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

Досить зіставити зображення до і після вбудовування секретного тексту, кількість пікселів буде відрізнятися.

Потім використовується спеціальне ПЗ для перебору і розшифровки кожного пікселя і відтворення повідомлення.

Читайте також:

Що таке jQuery: де використовується і які переваги дає розробникам

Швидкість оперативної пам’яті впливає на ігри і роботу в програмах?

Dropbox — що це за програма і як її використовувати: [інструкція]

Розповідаємо про NDA: як правильно оформити договір і яка є відповідальність за його порушення

Підсумок

Кодування інформації використовується сотні років для зручної передачі даних між пристроями.

З розвитком технологій і перенесенням банківської сфери в технічну середу з’явилася необхідність у використанні алгоритмів кодування, які б шифрували інформацію, зберігаючи її від несанкціонованого доступу.

Сьогодні без технологій кодування даних неможлива робота жодного комп’ютера, смартфона, сайту або банківського рахунку.

Тематичні відеоролики: