Co to jest kodowanie i dekodowanie informacji? Kodowanie alfabetyczne

Współczesny świat opiera się na wykorzystaniu i przekazywaniu informacji. Ale głos, w końcu, nie przekażesz tego. Dlatego też, od czasów starożytnych, ważne było szyfrowanie danych, aby mogły być odczytywane przez osoby, dla których były przeznaczone. Stopniowo ich szyfrowanie stało się bardziej istotne. Konieczne było umieszczenie przesłania w informacji zrozumiałej przez niego i nie ujawniającej jej znaczenia innym. O tym wszystkim porozmawiamy, zastanawiając się, jaki rodzaj kodowania i dekodowania.

Zrozumienie terminologii

Bez tego w żaden sposób. Jeśli chodzi o zakodowany tekst, oznacza to, że odpowiada mu inny zestaw 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 jednostkach. Informacje mogą być kodowane w określonych znakach i w celu ich zapisania. Jako przykład możemy podać 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 wartościach

Poprzednio proces kodowania i dekodowania informacji odgrywał rolę pomocniczą i nie był uważany za odrębny kierunek matematyki. Jednak wraz z pojawieniem się komputerów elektronicznych sytuacja uległa znacznej zmianie. Kodowanie jest obecnie głównym problemem przy rozwiązywaniu szerokiegospektrum praktycznych zadań w programowaniu, a zatem przenika wszystkie technologie informacyjne. Tak, z jego pomocą:
  • Chroni informacje przed nieautoryzowanym dostępem.
  • Odporność zapewniona jest podczas przesyłania za pośrednictwem kanałów transmisji danych.
  • Przedstawia informacje o arbitralnym charakterze (grafika, tekst, liczby) w pamięci komputera.
  • Zawartość baz danych jest skompresowana.
  • Informacje o alfabecie

    Mówiąc o rodzaju kodowania i dekodowania, trudno jest zignorować podstawę tego wszystkiego. Mianowicie alfabet. Istnieją dwa typy - kod źródłowy i kod. Pierwsza to wstępna informacja. Pod kodem odnosi się do zmienionych danych, które jednak, jeśli klucz jest dostępny do przekazywania zaszyfrowanych treści do nas. W informatyce w tym celu kod binarny oparty na alfabecie składa 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 są one następujące: A = {A0 A1 A2A33}, B = {B0 B1 B3B34}. Elementy alfabetu są literami. Podczas gdy ich uporządkowany zestaw nazywa się słowem. Ma określoną długość. Pierwsza litera tego słowa nazywana jest początkiem (prefiksem), a druga końcem (postfiksem). Mogą istnieć różne zasady konstruowania struktur. Na przykład, niektóre systemy kodowania wymagają, aby istniała luka między słowami, a druga bez niego. Ogólnie rzecz biorąc alfabet jest potrzebny do zbudowania uniwersalnego systemu wyświetlania informacji, ich przechowywania, przetwarzania i przesyłania.Zapewnia pewne dopasowanie między różnymi sygnałami i elementami wiadomości, które są w nich zaszyfrowane.

    Praca z danymi

    Kiedy informacja przekształca się w pierwotną formę, co dzieje się, gdy proces 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). Rozważmy sytuację w systemie binarnym. Ma wszystkie słowa kodowe o tej samej długości. Dlatego kod nazywa się jednolitym (blok). W tym przypadku funkcja kodowania służy do pewnego podstawienia. Jako przykład można podać wyżej wymieniony system alfabetyczny. Zestaw kodów elementarnych służy do oznaczania określonych sekwencji. Załóżmy, że mamy A0 = {A, B, B, G} i B0 = {1 0}. Jak można to sobie wyobrazić przez komputer? I tutaj jest następująca sekwencja: A = 00 B = 01 U = 10 P = 11. Jak widać, każda postać ma określone kodowanie. Technologia komputerowa rejestruje informacje o kodowaniu alfabetu i zaczyna czekać na nadchodzące sygnały. Przychodzi do zera, a następnie kolejna - Tak, tak jest literą A. Jeśli paralele z zestawem słów w edytorze tekstu, należy zauważyć, że nie tylko będą miały do ​​nas, ale rozpoczęła również odpowiedź na niego. Na przykład zaświeci się pewna sekwencja diod LED monitora, która wyświetli wszystkie wprowadzone znaki.

    Specyfika pracy

    Mówiąc o przykładach kodowania i dekodowania informacji, należy zauważyć, żerozważany system nie wyklucza się wzajemnie. Na przykład litera A może odpowiadać kombinacji nie tylko 00, ale 1110 lub 01. Należy jednak pamiętać, że może istnieć tylko jedna rzecz. To znaczy, połączenie jest ustalane tylko przez pewien symbol. Jeśli schemat kodowania obejmuje podział dowolnego słowa na elementarne składniki, to jest on nazywany podzielnym. W przypadku, gdy jedna litera nie działa jako początek innej, jest to podejście prefiksowe. Dotyczy to części sprzętu i oprogramowania. Pewne wpływy na kodowanie zapewniają również architekturę, ale z powodu dużej liczby opcji, które można uznać za dość problematyczne.

    Pocket Coding

    To jest najprostsze podejście. Mówiąc o kodowaniu języków informacyjnych, jest to prawdopodobnie najbardziej popularna opcja. W wersji limitowanej zostało to uwzględnione powyżej. Zobaczmy, jak wygląda kod bez separatorów. Załóżmy, że mamy alfabet (kod źródłowy), w którym umieszczone są wszystkie rosyjskie litery. Dekodowanie służy do kodowania. Tutaj A = 1 a = 33. W ten sposób sekwencja liter AJAJAA może być przesyłana jako 133331. Jeśli istnieje potrzeba ujednolicenia alfabetu, należy dokonać pewnych zmian. Tak więc, dla pierwszych dziewięciu liter będziesz musiał dodać zero. I przykład naszej rozważanej przez nas AJAJA jest konwertowany na 01333301.

    Nierówne kodowanie

    Poprzednio rozważana opcja jest uważana za wygodną. Ale w niektórych przypadkach rozsądniej jest postawić na nierówne kody. Ma to sens, gdy różne litery w tekście źródłowym znajdują się na różnych częstotliwościach. Dlatego więcejZnaczące jest kodowanie częstych postaci o krótkich znakach, a rzadkich - długich. Stwórzmy drzewo binarne z liter n alfabetu. A dodatkowo weźmiemy specjalne symbole. Do najczęściej używanych liter, więc zaczniemy z nich: - 0 B - 1 B - 10 M - 11 i tak dalej. I dopiero po nich będą już używane znaki zapytania, procenty, dwukropki i inne. Chociaż być może na pierwszym miejscu powinny znajdować się przecinki i kropki.

    W sprawie stanu Fano

    Twierdzenie mówi, że dowolny kod (prefiks i jednolite) umożliwia w unikalne kodowanie. Załóżmy, że używamy wcześniej omówiony przykład 01333301. ruszyć w prawo. 0 nic nam nie daje. Ale 01 pozwala nam identyfikować literą A. trochę kodu źródłowego zmiany i przedstawić jego 01333301. Wtedy poświęcić pierwszy, drugi i kolejny A. W rezultacie mamy 013,333 01. Chociaż oryginalny kod został osuszony, ale teraz możemy łatwo rozszyfrować je, ponieważ wiemy, co to jest. Mianowicie - I I A. Należy jednak pamiętać, że zawsze stoi jednoznacznie i żadne interpretacje przyjęte w ramach systemu tam, dzięki czemu można zapewnić wysoką niezawodność przesyłanych informacji. Ale jak działają komputery?

    Funkcjonowanie komputerów

    Kodowanie i dekodowanie sygnałów komputer technologii opiera się na wykorzystaniu tak zwanych niskich i wysokich sygnałów, które odpowiadają logiczne zero i jednostki pomiarowej. Co to znaczy? Załóżmy, że mamy mikrokontroler. Jeśli jego wejście otrzymuje niskie napięcie 15 V, toprzyjmuje się, że przesłano logiczną wartość zerową. Ale jeśli transmitowane jest 5V, urządzenie zostanie zapisane w odpowiedniej komórce pamięci. Jednocześnie konieczne jest uzgodnienie źródła informacji z kanałem komunikacji. Ogólnie rzecz biorąc, przy tworzeniu elektroniki należy wziąć pod uwagę dużą liczbę różnych momentów. Są to wymagania energetyczne i rodzaj przekazywanych informacji (dyskretne lub ciągłe) i wiele więcej. W takim przypadku dane muszą być nieustannie przekształcane, aby mogły być przesyłane kanałami komunikacyjnymi. Tak więc, w przypadku technik binarnych, sygnały są reprezentowane jako napięcie przyłożone do wejścia tranzystorów lub innych komponentów. Podczas dekodowania dane transmitują komunikat w zrozumiałej dla odbiorcy postaci.

    Minimalna nadmiarowość

    W praktyce okazało się, że niezwykle ważne jest, aby kod komunikatu miał minimalną długość. Na początku może się wydawać, że różnica sześciu, ośmiu lub szesnastu bitów może być użyta do kodowania? Różnice są jednak niewielkie, jeśli użyte jest jedno słowo. A jeśli miliardy? Na szczęście można dostosować kodowanie alfabetyczne dla wszystkich wymagań. Ale jeśli nic nie wiadomo o zestawie, to w tym przypadku trudno jest sformułować problem optymalizacji. Ale w praktyce wciąż można uzyskać więcej informacji. Rozważ mały przykład. Załóżmy, że mamy komunikat przedstawiony w języku naturalnym. Ale jest zakodowany i nie możemy go odczytać. Co nam pomoże w dekodowaniu? Jedną z możliwych opcji jest ulotkapapier, na którym dystrybuowane jest prawdopodobieństwo rozesłania listów. Dzięki temu możliwa jest konstrukcja optymalnego kodu pod kątem miejsca /kodowania przy użyciu dokładnego matematycznego sformułowania i rygorystycznego rozwiązania.

    Spójrzmy na przykład

    Załóżmy, że mamy określony, możliwy do oddzielenia schemat kodowania alfabetycznego. Wtedy wszystkie pochodne reprezentujące uporządkowany zestaw również będą miały tę właściwość. W takim przypadku, jeśli długość podstawowych kodów jest równa, wówczas ich permutacja nie ma wpływu 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óżnych długościach. W takim przypadku, jeśli istnieje konkretny komunikat i schemat jego kodowania, można znaleźć rozwiązanie problemu, gdy jego długość będzie minimalna. Jak to osiągnąć? Rozważmy podejście z wykorzystaniem algorytmu przydziału kodów elementarnych, co pozwala skutecznie podejść do rozwiązania problemu efektywności:
  • Powinno być posortowane litery w porządku malejącym ilościowego wejścia.
  • Konieczne jest umieszczanie podstawowych kodów w celu zwiększenia ich długości.
  • Podsumowując, konieczne jest umieszczenie elementów w optymalnej kolejności, tak aby najczęstsze znaki zajmowały najmniej miejsca.
  • Ogólnie rzecz biorąc, system jest prosty. Jeśli pracujesz z niewielkimi ilościami danych. Jednak w przypadku nowoczesnych komputerów taki problem jest dość problematyczny ze względu na dużą ilość informacji.

    Wniosek

    Zastanowiliśmy się tutaj, czym jest system kodowania idekodowanie informacji, które mogą zawierać, co jest obecnie w informatyce i wiele innych problemów. Należy jednak rozumieć, że ten temat jest bardzo obszerny, jeden artykuł to za mało. Jako kontynuację tematu można uznać szyfrowanie danych, kryptografię, zmianę wyświetlania informacji w różnych układach elektronicznych, poziom przetwarzania i wiele innych momentów. Ale dziedzina nauk komputerowych jest uważana za jedną z najtrudniejszych, więc nie będzie możliwe szybkie przestudiowanie tego. Ponadto wiedza teoretyczna nie jest tak praktyczna, jak umiejętności praktyczne. A te ostatnie zapewniają wynik wysokiej jakości.

    Powiązane publikacje