Kodowanie
Kodowanie – proces przekształcania informacji z jednej postaci (zwykle interpretowalnej przez człowieka) na inną, bardziej przydatną w danym kontekście technicznym, taką jak format cyfrowy, postać przystosowaną do transmisji lub przechowywania. W informatyce kodowanie odgrywa kluczową rolę w informatyce, komputerach, programowaniu oraz w komunikacji cyfrowej.
Definicja
W najogólniejszym ujęciu kodowanie jest mapowaniem elementów jednego zbioru znaków (źródłowego) na elementy innego zbioru (docelowego) przy zachowaniu określonych reguł. Wynikowy ciąg znaków lub bajtów nazywany jest kodem. Proces ten może być odwracalny (dekodowanie) lub nieodwracalny (np. w kryptografii).
Historia
Początki kodowania sięgają starożytnych systemów zapisu, takich jak hieroglify czy alfabet fenicki. W XIX‑w. wynaleziono pierwsze systemy kodowania maszynowego, np. kod Morse’a. Rozwój komputerów w XX‑w. spowodował powstanie licznych standardów kodowania cyfrowego, takich jak ASCII, Unicode czy Base64.
Rodzaje kodowania
Kodowanie znaków
Umożliwia reprezentację znaków (litery, cyfry, symbole) w postaci binarnej. Najpopularniejsze standardy:
- ASCII – 7‑bitowy kod znaków łacińskich.
- Unicode – uniwersalny zestaw znaków, wykorzystywany m.in. w formatach UTF‑8, UTF‑16.
- EBCDIC – system używany w starszych mainframe’ach IBM.
Kodowanie danych
Stosowane w celu przystosowania danych do specyficznych wymagań środowiskowych:
- Base64 – kodowanie binarnych danych w formacie tekstowym, wykorzystywane m.in. w poczcie elektronicznej.
- system szesnastkowy (hex) – popularny w debugowaniu i prezentacji ciągów bajtów.
- system binarny – podstawowa forma zapisu w komputerach.
Kodowanie multimedialne
Dotyczy kompresji i transformacji sygnałów audio‑wideo:
- Kodowanie MP3 – stratna kompresja dźwięku.
- Kodowanie H.264 – standard kompresji wideo.
- Kodowanie MPEG – rodzina formatów multimedialnych.
Kodowanie szyfrujące
W kryptografii kodowanie (często nazywane szyfrowaniem) przekształca dane w taki sposób, że ich treść jest nieczytelna bez odpowiedniego klucza:
- AES – symetryczny algorytm szyfrujący.
- RSA – asymetryczny algorytm szyfrujący.
- funkcje skrótu (np. SHA‑256) – jednokierunkowe kodowanie.
Zastosowania
Kodowanie znajduje zastosowanie w wielu dziedzinach:
- Przesyłanie danych w sieciach komputerowych (TCP, UDP).
- Zapisywanie tekstu w plikach i bazach danych.
- Kompresja plików (ZIP, RAR).
- Ochrona poufności informacji – szyfrowanie.
- Renderowanie grafiki i wideo w przeglądarkach internetowych.
Powiązane pojęcia
Warto zapoznać się także z następującymi terminami:
- algorytm – zestaw reguł przetwarzających dane.
- kompresja – redukcja objętości danych.
- szyfrowanie – bezpieczne kodowanie danych.
- dekodowanie – proces odwracający kodowanie.
- kodowanie kanałowe – technika przetwarzania sygnałów.
Bibliografia
- J. Kurose, K. Ross, Computer Networking: A Top‑Down Approach, 7‑s. ed., Pearson, 2017.
- W. G. Fletcher, Digital Signal Processing: Principles, Algorithms and Applications, 2‑s. ed., Wiley, 2009.
- S. M. Bell, Handbook of Information Security, Springer, 2015.