Код

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Код (франц. code, від лат. codex) (англ. code, нім. Schlüssel m, Kennzahl f, Kode m) — зведення законів, система умовних знаків (символів, позначень) для передачі, обробки та зберігання (запам'ятовування) різноманітної інформації.

Код у літературознавстві — система знаків (символів), за допомогою яких текст передається, сприймається і зберігається. Код служить для забезпечення комунікації, тому мусить бути зрозумілим усім учасникам комунікаційного процесу.

У зв'язку й обробки інформації, код - система правил для перетворення інформації такі як літера, слово, звук, зображення чи жест — в інший, іноді скорочується або шифрується, або форма подання для зв'язку через канал чи зберігання у середовищі. Перший приклад коду є винахід мови, що дозволила людині, за її допомогою повідомляти, що він або вона бачили, чули, відчували чи думали, іншим. Але мова обмежує дальність зв'язку на відстань, a для голосу може нести обмеження й аудиторія. Винахід листів, які перетворюють розмовну мову у візуальні символи, розширив спектр комунікацій в часі і просторі.

Процес кодування перетворює інформацію від джерела в символи для зв'язку або зберігання. Декодування - зворотній процес, перетворюючий символи в джерело, яке одержувач розуміє.

Однією з причин кодування є забезпечення зв'язку в місцях, де звичайна розмовна мова, усних або письмових заяв, важка або неможлива.

Теорія[ред.ред. код]

У теорії інформації та інформатики, код зазвичай розглядається як алгоритм, який однозначно представляє символи з деякої абетки джерела, закодованих рядків, які можуть бути в якомусь іншому алфавіті. Розширення коду для представлення послідовності символів над абеткою джерела виходить шляхом об'єднання закодованих рядків.

Перш ніж дати математично точне визначення, ми даємо короткий приклад. Відображення C = \{\, a\mapsto 0, b\mapsto 01, c\mapsto 011\,\} є кодом, джерело якого є алфавіт {a,b,c} і чия мета алфавітний набір {0,1}. За допомогою розширення коду, рядок у кодуванні 0011001011 може бути об'єднане у кодові слова, як 0011 0 01 011, а ті, у свою чергу, можуть бути розшифровані як послідовність вихідних символів acabc.

За допомогою термінів з формальної теорієї мови, точне математичне визначення цього поняття полягає у наступному: Нехай S і T дві кінцеві безлічі і є вихідними та цільовими алфавіти відповідно. A код C:\, S \to T^* є загальна функція, що відображає кожний символ з S у послідовності символів над Т, і розширення C на гомоморфізма S^* в T^*, що, природно відображає кожну послідовність вихідних символів у послідовністі цільових символів і є його розширенням.

Коди змінної довжини[ред.ред. код]

У цьому розділі ми розглянемо коди, які кодують кожне джерело (текст) символ і конкатенації таких кодових слів. Коди змінної довжини особливо корисні, коли текстові символи мають різні ймовірності.

Префікси кода з " приставкою власності " немають дійсного коду для слова в системі, як префікс будь-якого іншого чинного кодового слова в наборі. Код Хаффмана є найвідомішим алгоритмом для отримання префіксів кодів. Префікси кода широко називаються " коди Хаффмана ", навіть якщо код не був проведений алгоритмом Хаффмана.

Коди виправляючі помилки[ред.ред. код]

Коди також можуть бути використані для представлення даних у більш стійкий спосіб до помилок, у передачі або зберіганні. Цей "код " називається код корекції помилок. Приклади включають коди Гемінга, Ріда-Соломона, Ріда-Мaлера, Уолша-Адамара[ru], Бозе-Чоудхурі-Хоквінгема, Турбо-код[ru], Голея[ru], Гоппе, з низьким рівнем щільності перевірок на парність кодів та просторово-часові коди. Коди виправляючі помилки можуть бути оптимізовані для виявлення пакетних помилок, або випадкових помилок.

Приклади[ред.ред. код]

Кабель код замінює слова (наприклад, корабель або рахунок-фактура) на коротші слова, що дають однакову інформацію для відправки з меншою кількістю персонажів, більш швидко, і найголовніше, з меншими витратами.

Коди можуть бути використані для стислості. Коли телеграфні повідомлення були мистецтвом у швидкості далекого зв'язку, складні системи комерційних кодів, у які закодовані повні фрази, окремі слова були розроблені так, що телеграфістам ставали знайомі такі «слова», як BYOXO ("Ви намагаєтеся вибратися з цього?"), LIOUY ("Чому ви не відповіли на моє запитання?"), BMULD ("Ви скунс!"), або AYYLU ("Не зрозуміло закодовані, повторіть більш чітко."). Кодові слова були вибрані з різних причин: довжина, вимова і т.д. Значення були обрані, щоб відповідати усвідомленим потребам: в комерційних переговорах, з військової точки зору для військових кодів, дипломатичні умови для дипломатичних кодів. Метою більшості з цих кодів була економія на вартості кабелів. Використання кодування даних для стиснення даних є передумовою комп'ютерної ери; раннім прикладом є телеграф код Морзе де часто використовувані символи мають більш короткі розміри. Такі методи, як кодування Хаффмана зараз використовуються алгоритмами комп'ютерних стискань великих файлих даних, a більш компактна форма для зберігання або передачі.

Блетчлі Парк[ред.ред. код]

Під час Другої світової війни, в Блетчлі Парку був сайт головного підприємства розшифровки Сполученого Королівства, уряд кодексу та Cypher School, де були розшифровані шифри й коди кількох країн. Усі найголовніші шифри, породжені німецькими машинами Енігма і Лоренца. Це місце було відоме як " В.Р. " для людей, які працювали там. Для багатьох членів Жіночої Королівської Військово-морської служби, які працювали в Блетчлі-Парк.

Кодування символів[ред.ред. код]

Найбільш широко відомий код передачі даних до сих пір (як уявлення символів), з використовуваних сьогодні є ASCII. В тій чи іншій версії, він використовується майже на всіх персональних комп'ютерах, терміналах, принтерах та на інших обладнаннях зв'язку. Він представляє 128 символів з ​​семи-бітових чисел, — які, як рядок із семи 1 і 0 (біти). В ASCII в нижньому регістрі "" завжди 1100001, верхній регістр "" завжди 1000001, і так далі. Є багато інших кодувань, які представляють кожний персонаж по байту (, зазвичай називають кодові сторінки), число точки коду (Юнікод) або послідовність байтів (UTF-8).

Генетичний код[ред.ред. код]

Генетичний код (ДНК)

Біологічні організми містять генетичний матеріал, який використовується для управління їх функцій та розвитку. Це ДНК, який містить блоки які названі генами, які можуть виробляти білки через код (генетичний код), в якому серії триплетів (кодони) з чотирьох можливих нуклеотидів переводяться в одну з двадцяти можливих амінокислот, а кодовані послідовності в відповідну послідовність амінокислот, які утворюють білок.

Використання в інших сферах[ред.ред. код]

В математиці, Гедель код був основою для доведення теореми Геделя про неповноту. Тут ідея в тому, щоб зіставити математичну нотацію для натурального числа (за допомогою Гьодель нумерації).

Є коди, що використовують кольори, як світлофор. У маркетингу, знижкові коди можуть бути використані для фінансових знижок або знижок при покупці продукта з Інтернет-магазина. У військових умовах, специфічні звуки з корнетом використовуються для різних цілей: щоб відзначити деякі моменти дня, щоб командувати піхотою в полі бою, і т.д. Зв'язок системи для сенсорних дефектів, таких як мова жестів для глухих людей та шрифт Брайля для сліпих людей, засновані на русі, або тактильні коди.

Музичні бали є найбільш поширеним способом для кодування музики. Конкретні гри, як шахи, мають свої власні системи кодів для запису матчів (шахової нотації).

Криптографія[ред.ред. код]

В історії криптографії, коди були для забезпечення конфіденційності повідомлень, хоча, останнім часом, замість них використовуються шифри.

Секретні коди, призначені, щоб приховати реальні повідомлення, починаючи від серйозного (головним чином в шпигунстві на військовій, дипломатичні, ділової тощо.) до тривіальних (роман, ігри) може бути будь-який вид уяви кодування: квіти, ігрові карти, одяг, вентилятори, головні убори, мелодії, птахи і т.д., в яких єдиною умовою є попередня угода сенсу як сервер, так і приймач.

Інші приклади[ред.ред. код]

Інші приклади кодування включають в себе:

  • Кодування (в пізнанні) на основі перцептивного процесу інтерпретації. З технічної точки зору, це комплекс, багатоступінчастих процесів перетворення що до об'єктивного сенсорного введення (наприклад, світло, звук) в суб'єктивний значущий досвід.
  • Формат змістa - спеціальний формат кодування для перетворення певного типу даних в інформацію. Використовується кодування тексту у мові розмітки для полегшення обробки за допомогою комп'ютерів.
  • Електронне кодування - перетворення сигналу в оптимізований код для передачі або зберігання.
  • Кодування в пам'яті процес перетворення відчуття в спогади.
  • Кодування в телебаченні : NTSC, PAL і SECAM
  • Розшифровка(Комп'ютерні науки)-методи декодування, методи в теорії зв'язку для декодування кодових слів, що передаються по шумних каналах. Цифрова обробка сигналів, вивчення сигналів, цифрове уявлення та методи обробки цих сигналів. Цифро-аналоговий перетворювач використовується аналоговою схемою для операцій декодування. Слово декодування, використання акустики означає розшифрувати шаблони друку та перевести їх у звуки мови.

Коди та скорочення[ред.ред. код]

Скорочення та абревіатури можна вважати кодом, а в відчутті, всі мови і писемність є кодом людської думки.

Міжнародна асоціація повітряного транспорту, аеропортні коди, трибуквені коди використовуються для позначення аеропортів. Аналогічним чином використані коди станцій на залізницях, але, той же код може бути використаний для різних станцій, якщо вони знаходяться в різних країнах.

Іноді кодове слово досягає незалежного існування (і сенс) в той час як оригінальний еквівалент чи фраза більше не має точне значення віднесеного до кодового слова. Наприклад, '30' широко використовується в журналістиці і означає " кінець історії " та був використаний в інших контекстах для позначення " The End ".

Див. також[ред.ред. код]

Література[ред.ред. код]

Посилання[ред.ред. код]