Код

редактировать
Система правил для преобразования информации в другую форму или представления

В сообщениях и обработка информации, код - это система правил для преобразования информации, например, буква, слово, звук, изображение или жест - в анот ее форма, иногда сокращенная или секрет, для связи через канал связи или хранения на носителе. Одним из первых примеров является изобретение языка, который позволял человеку с помощью речи передавать другим то, что они думали, видели, слышали или чувствовали. Но речь ограничивает диапазон общения расстоянием, которое может передать голос, и ограничивает аудиторию теми, кто присутствует, когда произносится речь. Изобретение письма, которое преобразовало устную речь в визуальные символы, расширило диапазон общения в пространстве и времени.

Процесс encoding преобразует информацию из источника в символы для связи или хранения. Декодирование - это обратный процесс, в котором символы кода преобразуются обратно в форму, понятную получателю, например английский или / или испанский.

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

Содержание
  • 1 Теория
    • 1.1 Коды переменной длины
    • 1.2 Коды с исправлением ошибок
  • 2 Примеры
    • 2.1 Коды в обмене данными, используемые для краткости
    • 2.2 Кодировки символов
    • 2.3 Генетический код
    • 2.4 Код Гёделя
    • 2.5 Другое
    • 2.6 Криптография
  • 3 Другие примеры
  • 4 Коды и сокращения
  • 5 См. Также
  • 6 Ссылки
Теория

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

Прежде чем дать математически точное определение, это краткий пример. Отображение

C = {a ↦ 0, b ↦ 01, c ↦ 011} {\ displaystyle C = \ {\, a \ mapsto 0, b \ mapsto 01, c \ mapsto 011 \, \}}C = \ {\, a \ mapsto 0, b \ mapsto 01, c \ mapsto 011 \, \}

- это код, исходным алфавитом которого является набор {a, b, c} {\ displaystyle \ {a, b, c \}}\ {a, b, c \} , а целевым алфавитом является набор {0, 1} {\ displaystyle \ {0,1 \}}\ {0,1 \} . Используя расширение кода, закодированная строка 0011001011 может быть сгруппирована в кодовые слова как 0 011 0 01 011, и они, в свою очередь, могут быть декодированы в последовательность исходных символов acabc.

Используя термины из теории формального языка, точное математическое определение этого понятия выглядит следующим образом: пусть S и T будут двумя конечными наборами, называемыми исходным и целевым алфавитами соответственно. A codeC: S → T ∗ {\ displaystyle C: \, S \ to T ^ {*}}C: \, S \ to T ^ * - отображение общей функции каждый символ от S до последовательности символов над T, и расширение C {\ displaystyle C}C до гомоморфизма из S ∗ {\ displaystyle S ^ {*}}S ^ {*} в T ∗ {\ displaystyle T ^ {*}}T ^ {*} , который естественным образом отображает каждую последовательность исходных символов в последовательность целевых символов, называется его расширением .

кодами переменной длины

В этом разделе мы рассматриваем коды, которые кодируют каждый исходный (открытый текст) символ кодовым словом из некоторого словаря, и конкатенация таких кодовых слов дает нам закодированную строку. Коды переменной длины особенно полезны, когда символы открытого текста имеют разную вероятность; см. также энтропийное кодирование.

Код префикса - это код со «свойством префикса»: в системе нет допустимого кодового слова, которое является префиксом (начало) любого другого допустимого кода слово в наборе. Кодирование Хаффмана - наиболее известный алгоритм получения префиксных кодов. Коды префикса широко называются «кодами Хаффмана», даже если код не был создан с помощью алгоритма Хаффмана. Другими примерами префиксных кодов являются телефонные коды страны, части страны и издателя в ISBN и вторичные коды синхронизации, используемые в UMTS WCDMA Стандарт беспроводной связи 3G.

Неравенство Крафта характеризует наборы длин кодовых слов, которые возможны в префиксном коде. Практически любой однозначно декодируемый код типа "один ко многим", не обязательно префиксный, должен удовлетворять неравенству Крафт.

Коды с исправлением ошибок

Коды также могут использоваться для представления данных способом, более устойчивым к ошибкам при передаче или хранении. Этот так называемый код исправления ошибок работает за счет включения тщательно продуманной избыточности сохраненных (или переданных) данных. Примеры включают коды Хэмминга, Рид-Соломон, Рид-Мюллер, Уолш-Адамар, Боз-Чаудхури-Хохвенгем, Turbo, Golay, Goppa, коды проверки четности с низкой плотностью и пространственно-временные коды. Коды обнаружения ошибок можно оптимизировать для обнаружения пакетных или случайных ошибок.

Примеры

Коды в коммуникации, используемые для краткости

Кабельный код заменяет слова (например, корабль или счет) более короткими словами, позволяя отправлять ту же информацию с меньшим количеством символов, быстрее и дешевле.

Для краткости можно использовать коды. Когда телеграфные сообщения стали последним словом в области быстрой междугородной связи, были разработаны сложные системы коммерческих кодов, которые кодировали целые фразы в отдельные рты (обычно пятиминутные группы), так что телеграфисты стали знакомы с такими «словами», как BYOXO («Вы пытаетесь вырваться из нашей сделки?»), LIOUY («Почему вы не отвечаете на мой вопрос?»), BMULD («Ты скунс! "), или AYYLU (" Нечетко закодировано, повторяйте более четко "). Кодовые слова были выбраны по разным причинам: длина, произносимость и т. Д. Значения были выбраны в соответствии с предполагаемыми потребностями: коммерческие переговоры, военные термины для военных кодексов, дипломатические условия для дипломатических кодов, любые и все предыдущие для кодов шпионажа. Шифровальные книги и издатели кодовых книг росли, в том числе один запуск в качестве прикрытия для американской Черной камеры, которой руководил Герберт Ярдли между Первой и Второй мировыми войнами. Целью большинства этих кодексов была экономия на стоимости кабеля. Использование кодирования данных для сжатия данных предшествовало компьютерной эре; Ранним примером является телеграф азбукой Морзе, где наиболее часто используемые символы имеют более короткие представления. Такие методы, как кодирование Хаффмана, теперь используются компьютерными алгоритмами для сжатия больших файлов данных в более компактную форму для хранения или передачи.

Кодировки символов

Кодировки символов представляют собой текстовые данные. Данная кодировка символов может быть связана с определенным набором символов (набором символов, который он может представлять), хотя некоторые наборы символов имеют несколько кодировок символов и наоборот. Кодировки символов могут быть широко сгруппированы в соответствии с количеством байтов, необходимых для представления одного символа: существуют однобайтовые кодировки, многобайтовые (также называемые широкими) кодированиями и переменной ширины ( также называемые кодировками переменной длины). Самые ранние кодировки символов были однобайтовыми, наиболее известным примером которых является ASCII. ASCII остается в использовании и сегодня, например, в заголовках HTTP. Однако однобайтовые кодировки не могут моделировать наборы символов, содержащие более 256 символов. Скрипты, для которых требуются большие наборы символов, такие как китайский, японский и корейский, должны быть представлены в многобайтовых кодировках. Ранние многобайтовые кодировки имели фиксированную длину, что означало, что, хотя каждый символ был представлен более чем одним байтом, все символы использовали одинаковое количество байтов («длина слова»), что делало их пригодными для декодирования с помощью таблицы поиска. Последняя группа, кодировки переменной ширины, представляет собой подмножество многобайтовых кодировок. Они используют более сложную логику кодирования и декодирования для эффективного представления больших наборов символов, сохраняя при этом более короткие представления наиболее часто используемых символов или сохраняя свойства обратной совместимости. Эта группа включает UTF-8, кодировку набора символов Unicode ; UTF-8 - самая распространенная кодировка текстовых носителей в Интернете.

Генетический код

Биологические организмы содержат генетический материал, который используется для контроля их функций и развития. Это ДНК, которая содержит единицы, названные генами, из которых происходит информационная РНК. Это, в свою очередь, производит белки через генетический код, в котором серию триплетов (кодонов ) из четырех возможных нуклеотидов можно транслировать в одна из двадцати возможных аминокислот. Последовательность кодонов приводит к соответствующей последовательности аминокислот, которые образуют молекулу белка; тип кодона, называемый стоп-кодоном, сигнализирует об окончании последовательности.

Код Гёделя

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

Другое

Существуют коды с использованием цветов, такие как светофор, цветовой код, используемый для обозначения номинального значения электрического резисторы или мусорные баки, предназначенные для определенных типов мусора (бумажный, стеклянный, органический и т. д.).

В маркетинге коды купонов могут использоваться для финансовой скидки или скидки при покупке продукта у розничного продавца (обычно через Интернет).

В военной обстановке особые звуки с корнетом используются для разных целей: для обозначения некоторых моментов дня, для управления пехотой на поле боя и т. Д.

Коммуникационные системы для сенсорных нарушений, такие как язык жестов для глухих и шрифт Брайля для слепых, основаны на движениях или тактильных кодах.

Музыкальные партитуры являются наиболее распространенным способом кодирования музыки.

В определенных играх есть собственные системы кодирования для записи совпадений, например шахматная нотация.

Криптография

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

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

Другие примеры

Другие примеры кодирования включают:

К другим примерам декодирования относятся:

Коды и акронимы

Акронимы и сокращения могут считаться кодами, и в некотором смысле все языки и системы письма - это коды человеческой мысли.

Коды аэропортов Международной ассоциации воздушного транспорта - это трехбуквенные коды, используемые для обозначения аэропортов и используемые для багажных бирок. Коды станций аналогичным образом используются на железных дорогах, но обычно являются национальными, поэтому один и тот же код может использоваться для разных станций, если они находятся в разных странах.

Иногда кодовое слово приобретает независимое существование (и значение), в то время как исходная эквивалентная фраза забывается или, по крайней мере, больше не имеет точного значения, приписываемого кодовому слову. Например, «30» широко использовалось в журналистике для обозначения «конца истории» и использовалось в других контекстах для обозначения «конца».

См. Также
Викискладе есть материалы, связанные с кодами.
Ссылки
Последняя правка сделана 2021-05-15 13:37:10
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте