Co to jest kodowanie i dekodowanie informacji? Kodowanie alfabetu

16.05.2019

Współczesny świat opiera się na użyciu i przekazywanie informacji. Ale nie możesz jej powiedzieć każdemu swoim głosem. Dlatego od czasów starożytnych moment kodowania danych był ważny, aby mogły być czytane przez osoby, dla których było przeznaczone. Stopniowo ich szyfrowanie stało się również istotne. Konieczne było umieszczenie w komunikacie informacji, które były dla niej jasne i nie ujawniały znaczenia innym. Porozmawiamy o tym wszystkim, dowiemy się, jakie są kodowanie i dekodowanie.

Rozumiemy terminologię

co to jest kodowanie i dekodowanie Bez tego w żaden sposób. Kiedy mówią o zakodowanym tekście, oznacza to, że był związany z innym zestawem znaków. Może to zostać wykorzystane do zwiększenia niezawodności lub z prostego powodu, że kanał może wykorzystywać tylko ograniczoną liczbę znaków. Na przykład kod binarny, na którym działają nowoczesne komputery, jest zbudowany na zerach i elementach.

Informacje mogą być kodowane w określonych znakach i w celu ich zapisania. Jako przykład można przytoczyć wyniki analiz, które zawierają wskaźniki ludzkiego ciała. Ale najbardziej popularne pytanie brzmi: "Co to jest kodowanie i dekodowanie w informatyce?" Będziemy szukać odpowiedzi na to.

O znaczeniu

Wcześniej proces kodowania i dekodowania informacji pełnił rolę pomocniczą i nie był uważany za odrębny obszar matematyki. Jednak wraz z pojawieniem się komputerów elektronicznych sytuacja uległa znacznej zmianie. Teraz kodowanie jest kluczową kwestią w rozwiązywaniu szerokiego zakresu praktycznych problemów w programowaniu i dlatego przenika wszystkie technologie informacyjne. Tak więc z jego pomocą:

  1. Informacje są chronione przed nieautoryzowanym dostępem.
  2. Zapewnia odporność na zakłócenia podczas transmisji za pośrednictwem kanałów transmisji danych.
  3. Przedstawiono informacje o arbitralnym charakterze (grafika, tekst, liczby) w pamięci komputera.
  4. Skompresowana zawartość bazy danych.

O alfabecie

informacje o kodowaniu i dekodowaniu Mówiąc o tym, jakie są kodowanie i dekodowanie, trudno jest przeoczyć podstawę tego wszystkiego. Mianowicie alfabet. Istnieją dwa typy - źródło i kod. W pierwszym znajduje się informacja początkowa. Przez kod oznacza zmienione dane, które jednak mogą, jeśli klucz jest obecny, przesłać nam zaszyfrowaną treść. W informatyce wykorzystuje to kod binarny oparty na alfabecie składającym się z zera i jednego.

Spójrzmy na mały przykład. Załóżmy, że mamy dwa alfabety (A i B), które składają się ze skończonej liczby znaków. Załóżmy, że wyglądają tak: A = {A0, A1, A2 ... .A33}, B = {B0, B1, B3 ... B34}. Elementy alfabetu są literami. Natomiast ich uporządkowany zestaw nazywa się słowem. Ma określoną długość. Pierwsza litera słowa nazywa się początkiem (prefiksem), a ostatnia litera nazywa się końcem (postfiksem). Mogą istnieć różne zasady konstruowania struktur. Na przykład niektóre systemy informacje o kodowaniu wymagać, by istniała luka między słowami, a ci bez niej. Ogólnie rzecz biorąc alfabet jest niezbędny do budowy uniwersalnego systemu wyświetlania informacji, ich przechowywania, przetwarzania i przesyłania. W tym przypadku zapewniona jest pewna zgodność między różnymi sygnałami i elementami wiadomości, które są w nich zaszyfrowane.

Pracuj z danymi

proces kodowania i dekodowania Kiedy informacja jest przekształcana do pierwotnej postaci, proces, który ma miejsce, nazywa się dekodowaniem. Musi być wykonany w odniesieniu do wszystkich danych, które zostały zaszyfrowane. W tym przypadku stosuje się tak zwane mapowanie odwrotne (bijection). Rzućmy okiem na sytuację systemu binarnego. Ma wszystkie słowa kodowe o tej samej długości. Dlatego kod nazywa się jednolitym (blok). W tym przypadku funkcja kodowania jest pewnym podstawieniem. Weźmy jako przykład powyższy system alfabetyczny. Oznaczać określone sekwencje za pomocą zestawu podstawowych kodów.

Załóżmy, że mamy A0 = {A, B, C, D} i B0 = {1, 0}. Jak można to przedstawić komputerowi? I używając następującej sekwencji: A = 00, B = 01, B = 10, D = 11. Jak widać, każda postać ma określone kodowanie. Informacje referencyjne o alfabecie kodującym są wprowadzane do sprzętu komputerowego i zaczynają czekać na sygnały przychodzące. Zero przychodzi, a za nim jeszcze jeden - tak, więc to jest list A. Jeśli narysujemy paralele z wpisaniem słowa w edytorze tekstu, to należy zauważyć, że nie tylko jedna litera zostanie przesłana, ale odpowiednia reakcja na nią zostanie uruchomiona. Na przykład zaświeci się pewna sekwencja diod LED monitora, w którym wyświetlane są wszystkie wprowadzone znaki.

Specyfika pracy

kod binarny Mówiąc o przykładach kodowania i dekodowania informacji, należy zauważyć, że rozważany system nie jest jeden-do-jednego. Na przykład litera A może odpowiadać kombinacji nie tylko 00, ale także 11, 10 lub 01. Należy jednak pamiętać, że może istnieć tylko jedna rzecz. Oznacza to, że tylko konkretny znak jest przypisany wyłącznie do kombinacji. Jeśli schemat kodowania implikuje podział dowolnego słowa na elementarne komponenty, wówczas nazywa się go rozłącznym. W przypadkach, gdy jedna litera nie działa jako początek innej, jest to podejście przedrostkowe. Dotyczy to problemów z oprogramowaniem i sprzętem. Architektura ma również pewien wpływ na kodowanie, ale ze względu na dużą liczbę opcji implementacyjnych raczej problematyczne jest rozważenie tego.

Kodowanie liter

To jest najprostsze podejście. Jeśli mówimy o kodowaniu informacji, być może jest to najpopularniejsza opcja. W wersji limitowanej zostało to uwzględnione powyżej. Zobaczmy, jak wygląda kod bez ograniczników. Załóżmy, że mamy alfabet (źródło), w którym umieszczone są wszystkie rosyjskie litery. Do kodowania używane są cyfry dziesiętne. Tutaj A = 1, a I = 33. W ten sposób sekwencja liter AJAA może być określana jako 133331. Jeśli istnieje potrzeba ujednolicenia alfabetu, należy dokonać pewnych zmian. Tak więc, dla pierwszych dziewięciu liter musisz dodać zero. A przykład rozważanej przez nas AJAA zamienia się w 01333301.

Nierówne kodowanie

Opcja rozważana wcześniej jest uważana za wygodną. Ale w niektórych przypadkach rozsądniej jest obstawiać niejednolite kody. Ma to sens, gdy różne litery w tekście źródłowym występują przy różnych częstotliwościach. Dlatego sensowne jest kodowanie częstszych znaków za pomocą krótkich symboli i rzadkich symboli z długimi symbolami. Zbudujmy binarne drzewo liter rosyjskiego alfabetu. A na dodatek przyjmujemy postacie specjalne. Najczęściej używanymi literami, więc zaczniemy od nich: A - 0, B - 1, C - 10, G - 11 i tak dalej. I dopiero po nich będą używane znaki zapytania, procenty, dwukropki i inne. Chociaż być może przecinki i okresy powinny być w pierwszej kolejności.

O stanie Fano

kodowanie i dekodowanie sygnałów Twierdzenie mówi, że każdy kod (prefiks i uniform) dopuszcza możliwość unikalnego kodowania. Załóżmy, że korzystamy z przykładu rozważanego wcześniej z 01333301. Zaczynamy przesuwać się w prawo. 0 nic nam nie daje. Ale 01 pozwala ci zidentyfikować literę A. Trochę zmienić początkowy kod i przedstawić go jako 01 333301. Następnie wybierz pierwszy I, drugi i inny A. W rezultacie mamy 01 33 33 01. Chociaż kod został pierwotnie scalony, ale teraz możemy łatwość dekodowania go, ponieważ wiemy, co to jest. Mianowicie - JESTEM A. Jednocześnie zauważ, że jest on zawsze dekodowany jednoznacznie, i nie ma interpretacji w ramach przyjętego systemu, dzięki czemu możliwe jest zapewnienie wysokiej niezawodności przesyłanych informacji. Ale jak działają komputery?

Funkcjonowanie komputerów elektronicznych

Kodowanie i dekodowanie sygnałów technologii komputerowej opiera się na wykorzystaniu tak zwanych sygnałów niskich i wysokich, które odpowiadają zeru, a jedno w wymiarze logicznym. Co to znaczy? Powiedzmy, że mamy mikrokontroler. Jeżeli jedno z jego wejść otrzymuje niskie napięcie 1,5 V, wówczas uważa się, że transmitowana była wartość logicznego zera. Ale jeśli transmitowane jest 5 V, to jednostka zostanie zapisana w odpowiedniej komórce pamięci. Jednocześnie konieczne jest osiągnięcie porozumienia w sprawie źródła informacji kanał komunikacji. Generalnie przy tworzeniu elektroniki należy wziąć pod uwagę dużą liczbę różnych punktów. Są to wymagania energetyczne, rodzaj przekazywanych informacji (dyskretne lub ciągłe) i wiele więcej. Jednocześnie dane muszą być stale przekształcane w taki sposób, aby mogły być przesyłane za pośrednictwem kanałów komunikacyjnych. Tak więc, w przypadku technologii binarnej, sygnały są reprezentowane jako napięcie dostarczane do wejścia tranzystorów lub innych komponentów. Podczas dekodowania dane tłumaczą wiadomość na rodzaj zrozumiały dla odbiorcy.

Minimalna redundancja

systemy kodowania informacji W praktyce okazało się, że niezwykle ważne jest, aby kod komunikatu miał minimalną długość. Początkowo może się wydawać, że jaka różnica - sześć, osiem lub szesnaście bitów jest używane do kodowania? Różnice nie są jednak znaczące, jeśli używane jest jedno słowo. A jeśli miliardy? Na szczęście można dostosować kodowanie alfabetyczne do wszystkich wymagań. Ale jeśli nic nie wiadomo o zestawie, to w tym przypadku raczej trudno jest sformułować problem optymalizacyjny. Ale w praktyce wciąż można uzyskać dodatkowe informacje. Rozważ mały przykład. Załóżmy, że mamy wiadomość przesłaną w języku naturalnym. Ale jest zakodowany i nie możemy go odczytać. Co pomoże nam w zadaniu dekodowania? Jako jedną z możliwych opcji - kartkę, na której dystrybuowane jest prawdopodobieństwo wystąpienia liter. Dzięki temu możliwe staje się skonstruowanie optymalnego kodu pod kątem de / kodowania przy użyciu dokładnego matematycznego sformułowania i rygorystycznego rozwiązania.

Parsować przykład

Załóżmy, że mamy definiowalny, możliwy do oddzielenia alfabetyczny schemat kodowania. Wtedy wszystkie pochodne, które są uporządkowanym zbiorem, również będą miały tę właściwość. Co więcej, jeśli długość podstawowych kodów jest równa, to ich permutacja nie wpływa na długość całej wiadomości. Ale jeśli rozmiar przesyłanej informacji zależy bezpośrednio od sekwencji liter, oznacza to, że zastosowano komponenty o różnej długości. W tym samym czasie, jeśli istnieje konkretny komunikat i jego schemat kodowania, wówczas możliwe jest wybranie takiego rozwiązania problemu, gdy jego długość jest minimalna. Jak to osiągnąć? Przyjrzyjmy się podejściu wykorzystującemu algorytm przypisywania elementarnych kodów, co pozwala nam skutecznie podejść do rozwiązania problemu efektywności:

  1. Listy należy sortować w porządku malejącym występowania ilościowego.
  2. Konieczne jest umieszczenie kodów elementarnych w kolejności zwiększania ich długości.
  3. Podsumowując, konieczne jest umieszczenie komponentów w optymalnej kolejności, tak aby najczęstsze znaki zajmowały najmniej miejsca.

Ogólnie system jest prosty. Jeśli pracujesz z niewielkimi ilościami danych. Ale w przypadku nowoczesnych komputerów jest to dość problematyczne w implementacji ze względu na znaczną ilość informacji.

Wniosek

języki kodowania informacji Tak więc przyjrzeliśmy się systemowi kodowania i dekodowania, co to może być, co jest obecnie w informatyce, a także wielu innych kwestiach. Należy jednak rozumieć, że ten temat jest bardzo obszerny, jeden artykuł nie wystarcza do tego. Jako kontynuację tematu możemy rozważyć szyfrowanie danych, kryptografię, zmianę w wyświetlaniu informacji w różnych elektronikach, poziomy przetwarzania i wiele innych punktów. Ale gałąź informatyki jest uważana za jedną z najtrudniejszych, dlatego też nauka tego wszystkiego szybko nie zadziała. Poza wiedzą teoretyczną tutaj, jak nie równa się umiejętności praktycznych. Mianowicie, te ostatnie zapewniają wynik jakościowy.