Какво е кодиране и декодиране на информация? Кодираща азбука

16.05.2019

Съвременният свят е изграден върху използването и предаване на информация. Но не можеш да й кажеш с гласа си. Ето защо за дълго време моментът на кодиране на данните беше важен, за да могат да бъдат прочетени от онези, за които е предназначен. Постепенно тяхното кодиране също стана уместно. Необходимо е да се впише в съобщението информация, която й е ясна и не разкрива смисъла на другите. Ще говорим за всичко това, за да разберем кои са кодирането и декодирането.

Ние разбираме терминологията

какво е кодиране и декодиране Без това по никакъв начин. Когато говорят за кодирания текст, това означава, че той е свързан с различен набор от знаци. Това може да се използва за повишаване на надеждността или поради простата причина, че един канал може да използва само ограничен брой знаци. Например двоичният код, на който работят съвременните компютри, е изграден върху нули и единици.

Информацията може да бъде кодирана в определени знаци и за да бъде запазена. Като пример можем да посочим резултатите от анализите, които съдържат показатели за човешкото тяло. Но най-популярният въпрос е: "Какво е кодиране и декодиране в компютърните науки?" Ще търсим отговора.

За смисъла

Преди това процесът на кодиране и декодиране на информация играе спомагателна роля и не се разглежда като отделна област на математиката. Но с появата на електронните компютри ситуацията се промени значително. Сега кодирането е централен въпрос при решаването на широк кръг практически проблеми в програмирането и следователно прониква във всички информационни технологии. Така че с негова помощ:

  1. Информацията е защитена от неоторизиран достъп.
  2. Осигурява устойчивост на шум по време на предаване по канали за предаване на данни.
  3. Представена е информация с произволен характер (графики, текст, числа) в паметта на компютъра.
  4. Съдържание на компресирана база данни.

За азбуката

кодиране и декодиране на информация Говорейки за това какво са кодиране и декодиране, е трудно да се пренебрегне основата на всичко това. А именно азбуката. Има два вида - източник и код. В първата има първоначална информация. По код означава променени данни, които обаче, ако има ключ, могат да предават криптираното съдържание на нас. В компютърните науки това използва двоичен код на базата на азбука, състояща се от нула и една.

Нека да разгледаме малък пример. Да предположим, че имаме две азбуки (А и В), които се състоят от ограничен брой знаци. Да предположим, че изглеждат така: A = {A0, A1, A2… .A33}, B = {B0, B1, B3 ... B34}. Елементите на азбуката са букви. Докато подреденият им набор се нарича дума. Той има определена дължина. Първата буква на думата се нарича начало (префикс), а последната буква се нарича крайна (postfix). Може да има различни правила за изграждане на конструкции. Например, някои системи информация за кодиране изискват да има пропаст между думите, последните да го правят без него. Като цяло, азбуката е необходима за изграждане на универсална система за показване на информация, нейното съхранение, обработка и предаване. В този случай се осигурява определена кореспонденция между различните сигнали и елементите на съобщението, които са криптирани в тях.

Работа с данни

процес на кодиране и декодиране Когато информацията се преобразува в първоначалната си форма, процесът, който се осъществява, се нарича декодиране. Тя трябва да бъде изпълнена по отношение на всички данни, които са били криптирани. В този случай се използва така наречената обратна картировка (биекция). Нека разгледаме ситуацията на двоичната система. Тя има всички кодови думи със същата дължина. Следователно, кодът се нарича униформа (блок). В този случай, кодиращата функция е определено заместване. Вземете за пример горната азбучна система. За да обозначим определени последователности, използвайки набор от елементарни кодове.

Да предположим, че имаме A0 = {A, B, C, D} и B0 = {1, 0}. Как това може да бъде представено на компютър? И използвайки следната последователност: A = 00, B = 01, B = 10, D = 11. Както виждате, всеки символ има специфично кодиране. Референтната информация за кодиращата азбука се въвежда в компютърното оборудване и започва да изчаква входящите сигнали. Нула идва, последвана от още едно - да, така това е писмо О. Ако направим паралели с въвеждането на дума в текстов редактор, трябва да отбележим, че не само едно писмо ще бъде предадено, но и съответната реакция към него ще бъде стартирана. Например, ще светне определена последователност от светодиоди на монитора, където се показват всички въведени знаци.

Работни особености

двоичен код Говорейки за примери за кодиране и декодиране на информация, трябва да се отбележи, че разглежданата система не е индивидуална. Например буквата А може да съответства на комбинация не само на 00, но и на 11, 10 или 01. Но трябва да се има предвид, че може да има само едно нещо. Това означава, че на комбинация се присвоява само специфичен знак. Ако кодиращата схема предполага разделяне на която и да е дума на елементарни компоненти, то тя се нарича сепарабелна. В случаите, когато една буква не действа като начало на друга, това е префикс подходът. Това се отнася до проблеми със софтуера и хардуера. Архитектурата също има известно влияние върху кодирането, но поради големия брой варианти за реализация е доста проблематично да се разгледа.

Кодиране на писма

Това е най-простият подход. Ако говорим за кодиране на информация, тогава може би това е най-популярният вариант. В ограничена версия беше разгледано по-горе. Нека да разберем как изглежда кодът без ограничители. Да предположим, че имаме азбука (източник), в която се поставят всички руски букви. За кодиране се използват десетични цифри. Тук A = 1, и I = 33. По този начин последователността на буквите AJAA може да се нарече 133331. Ако има желание да се направи униформата на азбуката, трябва да се направят някои промени. Така че за първите девет букви трябва да добавите нула. И примерът на AJAA, който ние разглеждаме, се превръща в 01333301.

Неравномерно кодиране

Разглежданата по-рано опция се счита за удобна. Но в някои случаи е по-умно да залагате на нееднородни кодове. Това има смисъл, когато различни букви в изходния текст се появяват на различни честоти. Следователно, има смисъл да се кодират по-чести символи с къси символи и редки символи с дълги символи. Да построим двоично дърво от буквите на руската азбука. И при добавянето ще вземем специални символи. Най-често използваните букви са, така че ще започнем с тях: A - 0, B - 1, C - 10, G - 11 и т.н. И само след тях ще се използват въпросителни знаци, проценти, двоеточия и други. Макар че може би на първо място трябва да се поставят запетаи и периоди.

За състоянието на Фано

кодиране и декодиране на сигнали Теоремата казва, че всеки код (префикс и униформа) допуска възможността за уникално кодиране. Да предположим, че използваме пример, разгледан по-рано с 01333301. Започваме да се движим надясно. 0 ни дава нищо. Но 01 ви позволява да идентифицирате буквата А. Малко промяна на първоначалния код и го представя като 01 333301. След това изберете първата I, втората и друга А. В резултат на това имаме 01 33 33 01. Въпреки че кодът е първоначално обединени, но сега можем лесното декодиране, защото знаем какво е то. А именно - АЗ СЪМ A. В същото време забележете, че то винаги се дешифрира еднозначно и няма интерпретации в рамките на приетата система, благодарение на което е възможно да се осигури висока надеждност на предадената информация. Но как работят компютрите?

Функционирането на електронните компютри

Кодирането и декодирането на сигнали от компютърни технологии се основава на използването на така наречените ниски и високи сигнали, които отговарят на нула и едно в логическото измерение. Какво означава това? Да кажем, че имаме микроконтролер. Ако един от неговите входове получи ниско напрежение от 1,5 V, тогава се счита, че е предадена стойността на логическата нула. Но ако се предаде 5 V, тогава единица ще бъде записана в съответната клетка на паметта. В същото време е необходимо да се постигне съгласие относно източника на информация комуникационен канал. Като цяло, при създаването на електроника е необходимо да се вземе предвид голям брой различни точки. Това са енергийни изисквания, видът на предаваната информация (дискретна или непрекъсната) и много повече. В същото време данните трябва постоянно да се трансформират по такъв начин, че да могат да се предават по комуникационни канали. Така, в случай на двоична технология, сигналите се представят като напрежение, приложено към входа на транзистори или други компоненти. По време на декодирането данните превеждат съобщението в вид, разбираем за получателя.

Минимално резервиране

системи за кодиране на информация На практика се оказа, че е изключително важно кодът на съобщението да има минимална дължина. Първоначално може да изглежда, че каква разлика - шест, осем или шестнадесет бита се използва за кодиране? Но разликите не са значими, ако се използва една дума. И ако милиарди? За щастие, можете да регулирате азбучното кодиране за всички изисквания. Но ако нищо не се знае за множеството, тогава в този случай е доста трудно да се формулира оптимизационен проблем. Но на практика, като правило, все още можете да получите допълнителна информация. Помислете за малък пример. Да предположим, че имаме съобщение, представено на естествен език. Но тя е кодирана и не можем да я прочетем. Какво ще ни помогне в задачата за декодиране? Като един от възможните варианти - лист хартия, върху който се разпространява вероятността от поява на букви. Поради това, изграждането на оптималния код по отношение на де / кодиране става възможно с помощта на точна математическа формулировка и строго решение.

Пример за анализ

Да предположим, че имаме дефинируема сепарабелна схема на кодиране. Тогава всички деривати, които са подредени, също ще имат това свойство. Освен това, ако дължината на елементарните кодове е равна, тогава тяхната пермутация не влияе на дължината на цялото съобщение. Но ако размерът на предаваната информация зависи пряко от последователността на буквите, това означава, че са използвани компоненти с различна дължина. В същото време, ако има специфично съобщение и неговата кодираща схема, тогава е възможно да се избере такова решение на проблема, когато неговата дължина е минимална. Как да постигнем това? Нека разгледаме подхода, използвайки алгоритъма за присвояване на елементарни кодове, който ни позволява да подходим ефективно към решаването на проблема с ефективността:

  1. Буквите трябва да се сортират в низходящ ред на количествената поява.
  2. Необходимо е да се поставят елементарните кодове, за да се увеличи тяхната дължина.
  3. И като заключение, е необходимо компонентите да бъдат поставени в оптимален ред, така че най-често срещаните символи да заемат най-малко място.

Като цяло системата е проста. Ако работите с малки количества данни. Но с модерни компютри това е доста проблематично да се реализира поради значителното количество информация.

заключение

езици за кодиране на информация Така че ние разгледахме какво е система за кодиране и декодиране, какво може да бъде, какво сега съществува в компютърните науки, както и много други въпроси. Но трябва да се разбере, че тази тема е изключително обемна, една статия не е достатъчна за това. Като продължение на темата можем да разгледаме криптирането на данните, криптографията, промяната в показването на информация в различни електроника, нивата на нейната обработка и много други точки. Но клонът на компютърните науки се счита за един от най-трудните, следователно, за да проучи всичко това бързо няма да работи. Освен теоретичните познания тук о, как не са равни на практическите умения. А именно, последните дават качествен резултат.