«Код», «кодування», «декодування» — почувши такі слова, багато згадують фільми про шпигунські фільми. Але виявляється все перераховане давно увійшло у повсякденне життя, і читаючи книгу або користуючись комп’ютером людина кодує і декодує інформацію постійно, анітрохи не замислюючись про це.
Необхідність розглянутих процесів
Уявімо, що людина словесно передає які-небудь дані, стаючи джерелом інформації. Кожен, хто почує його отримає потрібні відомості. А якщо необхідно, щоб «почув» комп’ютер чи потрібно зберегти і передати дані далі? Значить потрібно так «переробити» мова чи інші носії інформації, щоб можна було записати або закодувати, а при необхідності відновити, тобто розкодувати їх. Тому і розроблені різні алгоритми для процедури кодування та декодування інформації, яка передається.
Основні терміни і положення
Кодування — представлення інформації в зручному вигляді для обробки, зберігання, передачі.
Декодування — зворотний процес, коли дані перетворюються назад у вигляд зрозумілий людині.
Код — пакет умовних символів, завдяки яким відбувається передача інформації за встановленими правилами.
Людство з незапам’ятних часів вирішувало проблеми обробки даних. Навіть в первісному ладі потрібно було якось донести до своїх родичів різну інформацію, наприклад, вказати місце для полювання, розповісти про наскок сусідів. Спочатку для цього використовувалися малюнки, жести, звукові сигнали — все це можна назвати «первісним кодом». Одержувач, бачачи знайомі жести розумів про що йде мова, тобто декодувати повідомлення.
З розвитком суспільства стали з’являтися мови народів, писемність. Стало можливим записати промову використовуючи алфавіт. Букви стали кодом за допомогою якого зберігалася та передавалася інформація. Знаючи алфавіт, можна прочитати текст, декодировав його. Мови народів світу називають «природними мовами кодування».
На відміну від них існують і формальні, які були придумані для зручності використання в різних галузях життєдіяльності людини. Математичні знаки, ноти, дорожні покажчики, морська азбука — приклади формальних мов. Написання комп’ютерних програм не обійдеться без численних мов програмування, які також є формальними.
Види і способи кодування
Вибір виду кодування визначається декількома факторами: існуючими можливостями, обставинами, цілями і можливістю подальшої обробки даних. Можливі 3 види кодування переданої інформації документа:
- Буквений або символьний. До нього можна віднести всі національні алфавіти.
- Графічний. Наприклад, прогноз погоди, топографічні карти або дорожні знаки.
- Числовий. Математичні формули і обчислення, двійковий код.
Чому Windows 10 безкоштовно?
Пояснимо на прикладах. Однією з форм кодування є стенографія. Тут умови або обставини такі, що необхідно швидко записувати мова оратора. Тому застосовується спеціальний код. Використовуючи його, стенографіст може записати ціле речення кількома літерами або знаками. Ось один з прикладів стенограми:
При математичних розрахунках зручно вести запис у вигляді чисел. Однак, якщо метою є точне написання підсумкового числа, то пишуть літерами. Тоді випадково пропущена цифра не стане причиною спотворення інформації. Так при вирішенні завдань у школі використовують цифрову або числову кодування. Але в бухгалтерських звітах або банківських виписках прописують підсумкову суму літерами. Потрібно зауважити, що одна і та ж інформація була записана природним і формальними мовами. Переходи між ними також є кодуванням.
Якщо необхідно приховати зміст документа від сторонніх очей, то застосовується шифрування — один з видів кодування. Тут метод кодування відомий тільки джерела і одержувача даних. Дешифрування повідомлення можлива при наявності ключа — додаткової інформації, що використовується в алгоритмі дешифрування. Даним напрямком кодування займається наука криптографія.
Коротка історія розвитку кодування
Ще в II столітті до н. е. давньогрецький вчений Полібій використовував схему з двома смолоскипами для подання букв грецького алфавіту.
У 18 столітті Клод Шаппа сконструював семафор, де кожній букві відповідала своя фігура. Швидкість передачі такого пристрою була низькою: 2 слова за хвилину.
Знаменитий телеграф і азбука Морзе. Воістину революційний винахід XIX століття. Завдяки трьом простим знаків: крапка, тире і пауза вдалося підвищити швидкість і надійність кодування. Система до цих пір використовується в мореплаванні.
Бездротовий телеграф або радіо. У 1895 році Попов, трохи пізніше в 1897 Марконі сконструювали окремо один від одного радіоприймач. Завдяки йому можна було використовувати абетку Морзе на великих відстанях.
XX століття стало проривом в області кодування і декодування інформації. Бездротовий телефон, телебачення і радіомовлення, комп’ютерні та мобільні технології — скрізь застосовується кодування і розшифровка даних.
Драйвера пристроїв на комп’ютері – що це таке і навіщо використовуються
Кодування і декодування даних різного виду
Щодня мільйони людей використовують комп’ютери, абсолютно не замислюючись, як відбувається введення тексту і його зчитування. Вся інформація сприймається комп’ютером в цифровий, двійковій формі, де для кодування використовуються тільки 2 символи 0 і 1, які називаються бітами. Нулю відповідає низька напруга, одиниці — висока. 8 бітів утворять 1 байт.
У сучасних технологіях використовують кілька видів кодування/декодування інформації. Ми наведемо приклад найпоширеніших методів кодування та декодування інформації, які можна вважати основними, оскільки видів дуже багато, наприклад, кодування звуку, кольору, чисел, відео, графіки, тексту і т. д.
Числа і текст
Кодування тексту здійснюється за допомогою таблиці ASCII і UNICODE. У них кожному символу, букві відповідає двійковий код у вигляді нулів і одиниць. ASCII була винайдена раніше і містить 256 літер і символів. Однак, із-за необхідності кодування національних алфавітів склали розширену таблицю UNICODE. На малюнку представлена таблиця ASCII:
Як видно з таблиці числа також кодуються в двійковий формат, арифметичні дії з ними аналогічні десятковій системі. Звичайно, підсумкова запис досить громіздка, але для обчислювальної техніки це не створює труднощів. Так, число 4 буде записано у вигляді 0110100, а 5 — 0110101. Число 45 буде містити обидва двійкових коду, але для обчислень воно буде перетворено в восьмирозрядний двійковий код.
Графіка
Для кодування зображень використовується більша кількість байтів. Графічне представлення буває растровим і векторним.
Цифрове обладнання працює з окремими, дискретними деталями. Тому при створенні растрового зображення вихідна картинка «дробиться» вертикальними і горизонтальними лініями на маленькі прямокутники — пікселі. Чим більше пікселів, тим краще якість зображення.
Колір кожного пікселя задається з допомогою трьох кольорів: червоний, зелений, синій. Така система називається RGB, де R — червоний (Red), G — зелений (Green), а B — синій (Blue). При змішуванні основних кольорів можна отримати практично будь-який відтінок. Кількість того або іншого кольору в одному пікселі вказується в двійковому коді. Чим більше бітів використовується для кольору, тим різноманітніше колірна палітра зображення, а значить і реалістичніше картинка.
Оцінка продуктивності комп’ютера в Windows 10
Векторна графіка застосовується у кресленнях, коли використовуються готові геометричні шаблони: прямокутник, квадрат, коло та інші. Працюючи з нею, потрібно вказати лише місце розташування об’єкта, розмір та колір, не потрібно окремо вказувати колір кожного пікселя. Векторне кодування широко поширене у видавничій справі та при дизайні друкованої продукції.
Звук
Звукова хвиля характеризується двома параметрами: амплітудою і частотою. Амплітуда відповідає за гучність звуку, а частота — за висоту. Також звукові коливання розбиваються на дрібні частини і в такому вигляді обробляються в цифровому каналі. Кожної такої частини відповідає своя амплітуда, виражена в двійковому коді. Чим більше деталей, тобто чим з більшою частотою розбивається звукова хвиля, тим якісніше відбувається кодування звуку.
При декодуванні звукова карта «збирає» всі частини воєдино і подає аналоговий звук на динаміки.
Числова інформація
Як вже було зазначено, числа кодуються шляхом переведення їх у двійкове обчислення. Якщо ж потрібно перетворити дробове число, то використовується 80-розрядне шифрування. Мінусами двійкового подання є незручність при використанні такого нагромадження бітів і уповільнення обробки даних. Можна перевести двійкову систему в шістнадцяткову, що полегшить роботу з числами.
Модель С. Холу
Наука, що вивчає будову і функціонування знакових систем, які відповідають за зберігання та передачу інформації, називається семіотика. Згідно з нею при декодуванні документа він має той же сенс, що був закладений кодувальником або джерелом при процедурі кодування передаваної інформації. Тобто мається на увазі однозначність кодування/декодування (повідомлення має єдине можливе тлумачення).
С. Хол вніс корективи в таке уявлення:
- Джерела шифрують тексти, виходячи з ідеологічних міркувань, а значить, перекручують інформацію або маніпулюють засобами масової інформації.
- Одержувачі можуть не прийняти повідомлення зі змістом, який заклав відправник. Це відбувається внаслідок опору ідеологічного тиску або використання в якості джерела опозиції.
Таким чином, початковий сенс може абсолютно відрізнятися від кінцевого, внаслідок відрізняється сприйняття у різних соціальних груп. Одержувачі можуть надати повідомленням зовсім інший напрямок (показано пунктиром).