Код - система условных знаков (символов) для передачи, обработки и хранения информации (сообщения).
Кодирование - процесс представления информации (сообщения) в виде кода.
Все множество символов, используемых для кодирования, называется алфавитом кодирования . Например, в памяти компьютера любая информация кодируется с помощью двоичного алфавита, содержащего всего два символа: 0 и 1.
Научные основы кодирования были описаны К.Шенноном, который исследовал процессы передачи информации по техническим каналам связи (теория связи , теория кодирования ). При таком подходе кодирование понимается в более узком смысле: как переход от представления информации в одной символьной системе к представлению в другой символьной системе . Например, преобразование письменного русского текста в код азбуки Морзе для передачи его по телеграфной связи или радиосвязи. Такое кодирование связано с потребностью приспособить код к используемым техническим средствам работы с информацией.
Декодирование - процесс обратного преобразования кода к форме исходной символьной системы , т.е. получение исходного сообщения. Например: перевод с азбуки Морзе в письменный текст на русском языке.
В более широком смысле декодирование - это процесс восстановления содержания закодированного сообщения. При таком подходе процесс записи текста с помощью русского алфавита можно рассматривать в качестве кодирования, а его чтение - это декодирование.
Цели кодирования и способы кодирования
Способ кодирования одного и того же сообщения может быть разным. Например, русский текст мы привыкли записывать с помощью русского алфавита. Но то же самое можно сделать, используя английский алфавит. Иногда так приходится поступать, посылая SMS по мобильному телефону, на котором нет русских букв, или отправляя электронное письмо на русском языке из-за границы, если на компьютере нет русифицированного программного обеспечения. Например, фразу: “Здравствуй, дорогой Саша!” приходится писать так: “Zdravstvui, dorogoi Sasha!”.
Существуют и другие способы кодирования речи. Например, стенография - быстрый способ записи устной речи . Ею владеют лишь немногие специально обученные люди - стенографисты. Стенографист успевает записывать текст синхронно с речью говорящего человека. В стенограмме один значок обозначал целое слово или словосочетание. Расшифровать (декодировать) стенограмму может только стенографист.
Приведенные примеры иллюстрируют следующее важное правило: для кодирования одной и той же информации могут быть использованы разные способы; их выбор зависит от ряда обстоятельств: цели кодирования, условий, имеющихся средств. Если надо записать текст в темпе речи - используем стенографию; если надо передать текст за границу - используем английский алфавит; если надо представить текст в виде, понятном для грамотного русского человека, - записываем его по правилам грамматики русского языка.
Еще одно важное обстоятельство: выбор способа кодирования информации может быть связан с предполагаемым способом ее обработки . Покажем это на примере представления чисел - количественной информации. Используя русский алфавит, можно записать число “тридцать пять”. Используя же алфавит арабской десятичной системы счисления, пишем: “35”. Второй способ не только короче первого, но и удобнее для выполнения вычислений. Какая запись удобнее для выполнения расчетов: “тридцать пять умножить на сто двадцать семь” или “35 х 127”? Очевидно - вторая.
Однако если важно сохранить число без искажения, то его лучше записать в текстовой форме. Например, в денежных документах часто сумму записывают в текстовой форме: “триста семьдесят пять руб.” вместо “375 руб.”. Во втором случае искажение одной цифры изменит все значение. При использовании текстовой формы даже грамматические ошибки могут не изменить смысла. Например, малограмотный человек написал: “Тристо семдесять пят руб.”. Однако смысл сохранился.
В некоторых случаях возникает потребность засекречивания текста сообщения или документа, для того чтобы его не смогли прочитать те, кому не положено. Это называется защитой от несанкционированного доступа . В таком случае секретный текст шифруется. В давние времена шифрование называлось тайнописью. Шифрование представляет собой процесс превращения открытого текста в зашифрованный, а дешифрование - процесс обратного преобразования, при котором восстанавливается исходный текст. Шифрование - это тоже кодирование, но с засекреченным методом, известным только источнику и адресату. Методами шифрования занимается наука под названием криптография .
Сегодня алкоголизм стал огромной проблемой нашего общества, которая угрожает здоровью нации. Масштабы его настолько велики, что решением такой задачи занялось правительство, разработав программу борьбы с алкоголизмом.
Медициной доказано, что алкоголизм - это не вредная привычка, а самая настоящая болезнь, которую можно сравнить с наркотической зависимостью. Поэтому болезнь необходимо лечить. Вопрос лишь в том, какое лечение выбрать: медикаментозное или психологическое кодирование от алкоголизма. По отзывам врачей, лечение будет эффективным только при комплексном подходе к решению проблемы.
Разобрав преимущества и последствия основных из существующих видов кодировки, каждый может решить для себя, какой метод подходит ему для избавления от этой пагубной привычки. Так же при выборе способа лечения необходимо учитывать, что кодировка подходит не каждому, поскольку имеется ряд противопоказаний к применению.
Противопоказания
Кодирование – это довольно радикальный способ лечения, поэтому каждый врач до проведения этой процедуры проводит исследование на предмет безопасности способа для каждого конкретного человека. После беседы с пациентом проводится его медицинское обследование, на основании результатов ранее сданных анализов. В случае обнаружения противопоказаний, пациенту будет предложена другая медицинская процедура. К противопоказаниям относятся:
Если у пациента присутствует хотя бы один из этих признаков, то во избежание неблагоприятных последствий, лечение кодированием можно заменить другими способами. Кроме того, врач оценит, какой метод помогает лучше для каждого индивидуума, так как организм, его возможности и состояние у всех разное.
Как правильно выбрать метод кодирования
При выборе между психологическими и медикаментозными способами необходимо учитывать следующее:
- психологическое подходит больным, имеющим устойчивое желание бросить пить с нацеленностью на положительный результат;
- медикаментозный метод будет эффективной кодировкой для пациентов, имеющих начальную и не способным самостоятельно воздержаться от спиртного на длительный период;
При выборе метода необходимо иметь в виду, что медикаментозное кодирование от алкоголизма ограничено сроком воздействия лекарственных препаратов. Психологическое воздействие имеет более длительный период времени - от 6 до 18 месяцев. Кроме того, психологическое воздействие на человека помогает гораздо эффективнее, ведь проблема решается изнутри.
Что такое кодировка
Жрецами и шаманами уже много столетий использовалось кодирование с помощью заклинаний, амулетов и природных составляющих. Принцип кодировки тогда и сейчас был направлен на к спиртному, выработку рефлекса на неприятие алкоголя. Русский учёный Павлов считал, что человек принадлежит к животному миру, и многие его поступки определяются рефлексами. На таком принципе и построено лечение кодировкой.
Непосредственно термин «кодирование» был введён уже в 80-е годы доктором Довженко, которым он назвал разработанную им методику лечения алкогольной зависимости. С тех пор это стало общим наименованием процедур. Так называют многие другие способы, не имеющие отношения к разработкам Довженко. Сегодня под кодированием подразумевается весь комплекс от принятия таблеток, введения специальных препаратов до воздействия на психику человека.
Медикаментозный способ
Этот метод считается наиболее эффективным, при котором для воздействия на организм используются препараты, содержащие в своей основе дисульфидам, блокирующий ферменты, отвечающие за вывод альдегида из организма. По статистике он помогает в 80 случаях из 100. В результате такой блокады наступает интоксикация организма и впоследствии появляются:
- головокружение;
- тошнота, рвота;
- судороги;
- повышение температуры тела;
- тахикардия, что приводит к отторжению алкоголя.
Медикаментозное кодирование можно разделить на три группы:
- пероральный приём таблеток и капель,
- имплантация «Торпедо»,
- уколы.
Каждый из этих способов имеет свои особенности и должен быть индивидуально подобран пациенту.
Кодировка пероральным приёмом таблеток и капель
Это самое безболезненное кодирование. Оно неплохо помогает от зависимости и может быть назначено всем больным за исключением имеющихся противопоказаний к кодировке. Этот методика будет эффективной блокадой для пациентов с начальной стадией алкоголизма.
Кодировка с помощью имплантации «Торпедо»
Это самый болезненный метод, заключающийся в ведении препарата в полость тела на глубину 3–4 см. Перед тем как сделать разрез на теле, применяется местная анестезия. Рассасываясь под кожей, препарат воздействует на организм в течение нескольких минут, после чего врачом проводится провокация, с помощью которой производится тестирование на то, помогает ли этот способ вызывать отвращение к спиртному.
Суть провокации в том, что больному после имплантации даётся выпить спиртное в любом количестве. У пациента сразу же начинаются все последствия сильного . После введения врачом антидота эти симптомы исчезают, но появляется твёрдое неприятие алкоголя. По отзывам бывших пациентов, появляется страх пережить ещё раз такое состояние.
Способ хотя и не самый безболезненный, но достаточно эффективный, поскольку наступает моментальный результат. Уколы могут быть как внутривенными, так и внутримышечными. Самыя лучшая кодировка - укол в вену.
Процедура имплантации «Торпедо» и инъекции внутривенного укола, при всей своей эффективности - довольно опасные процедуры, поэтому должны проводиться опытным специалистом в условиях медицинского учреждения, оборудованного реанимационным отделением, так как последствия проведения этих процедур могут быть непредсказуемыми.
Преимущества уколов заключаются в моментальном действии препарата и единоразовом проведении. При этом у пациента нет возможности самовольно прервать лечение. При пероральным приёме таблеток и капель пациент должен строго соблюдать курс лечения, не прерывать весь цикл. Кроме того, приём таблеток иногда затягивается на 2–3 месяца.
Лазерный способ
Этот метод по праву считается самым безопасным. Его суть заключается в воздействии лазерных лучей определённого вида на зоны головного мозга, отвечающие за развитие пристрастия к алкоголю. К преимуществам лазерного кодирования, помимо его безопасности, можно отнести отсутствие побочных последствий. Эта процедура не требует длительного времени для проведения курса, эффективность кодировки будет ощутима на 1–2 стадии алкоголизма.
К недостаткам метода можно отнести его неэффективность для пациентов с 3 стадией алкоголизма и невозможность широкого использования из-за отсутствия необходимого специального оборудования во всех клиниках. Поэтому отзывов к этой кодировке встречается крайне мало.
Кодирование иглоукалыванием
Суть данной кодировки кроется в воздействии на биологические активные точки пациента, отвечающие за употребление алкоголя. По отзывам этот метод очень действенный, но проводить его должен только высококвалифицированный специалист.
Психотерапевтическое кодирование
К этой кодировке можно отнести лечение гипнозом, лечение по , разработки авторов других методик.
Это самый известный из всех существующих приёмов, в мировой практике считается самой эффективной кодировкой, которая не имеет побочных последствий.
Суть этого метода состоит в воздействии гипнозом на пациента, во время которого внушается отвращение к спиртному (запаху, вкусу, виду), и устанавливается определённый срок трезвого образа жизни. На некоторых этапах пациент вводится в глубокий гипноз, остальные предусматривают общение с пациентом в ясном уме.
После проведения такого сеанса гипноза делается провокация для закрепления результата лечения. Сеанс проводится в течение 1- 2 часов. Основные требования к пациенту при проведении такого гипноза заключаются в его твёрдом желании и отказаться от спиртного. Перестать употреблять алкоголь необходимо за 3–4 дня до проведения сеанса. Помогает достаточно эффективно. Однако как любое кодирование, этот метод имеет свои противопоказания:
- Нарушение сознания.
- Алкогольное опьянение.
- Тяжёлые сердечно - сосудистые заболевания.
Психотерапия методом реконструкции
Воздействие заключается в том, что врач предлагает пациенту реконструировать воспоминания из своей жизни до того, как он начал пить, а также воспроизвести и сформировать свою жизнь, если бы пациент не страдал алкоголизмом, с планированием желаемых целей и событий. При этом человеку внушается неприятие алкоголя, проводится ассоциативный ряд всех последствий при алкогольном отравлении. Такое кодирование практически не имеет противопоказаний, кроме наличия психического заболевания пациента.
На основе таких методик проводятся и другие психотерапевтические сеансы. Людей, не поддающихся гипнотическому воздействию, такими методами вылечить нельзя, в лучшем случае они излечиваются на очень незначительный срок. К такому гипнозу чаще всего приходят люди, считающие кодирование с помощью медицинских препаратов болезненным и имеющим побочные последствия.
Преимущества и недостатки медикаментозного способа
Для идеального варианта требуется консультация нарколога, психиатра и терапевта. Только тогда будет достигнут желаемый эффект. Этот способ имеет больше всего преимуществ:
Преимуществ у данного приёма достаточно много, однако немало и минусов. К недостаткам можно отнести:
- токсичность лекарственных препаратов при употреблении пациентом спиртного, так как последствия могут привести даже к коме;
- при пероральном приёме наблюдается трудность в надлежащем контроле лечения;
- при имплантации существует риск развития инфекции, вызванной несоблюдением пациентом всех инструкций врача.
Плюсы и минусы психотерапевтического способа
Как показывает статистика, этот приём пользуется не очень большой популярностью. Далеко не каждый человек позволит «копаться» в своей голове. Существует риск негативных последствий при непрофессиональных действиях врача. Преимущества данного метода заключаются в следующем:
- отсутствует необходимость длительный срок принимать таблетки;
- отсутствует токсичность;
- срок действия кодировки очень длительный - может доходить до пожизненного избавления от алкоголизма;
- происходит одновременное избавление от сопутствующих фобий и депрессий.
К недостаткам метода можно отнести всего лишь единственный пункт - это неэффективность метода для пациентов, не поддающихся гипнозу. Кроме того, как уже говорилось выше, если психотерапевт недостаточно квалифицированный, может нарушиться психика пациента.
Возможные последствия кодировки
В основе кодировки лежит страх человека. Она направлена на подавление его воли и активизации инстинкта самосохранения. Вместо положительного алгоритма, в сознании пациента формируется отрицательная программа о том, что если он выпьет, то ему будет плохо.
Больной с неустойчивой психикой такого давления может не выдержать и опять начнёт пить, не опасаясь последствий. Поэтому при выборе лечения алкоголизма кодированием необходимо тщательно обдумать все плюсы и минусы, настроить себя на положительную программу.
По отзывам людей, которые очень противоречивы, можно сделать вывод, что результат лечения, прежде всего, зависит от различной психологической настроенности и восприимчивости каждого отдельного человека. Если у больного есть вера в излечение и присутствует желание вернуться к нормальной, полноценной жизни, если есть вера во врача, помогающего ему побороть болезнь, то результат не заставит себя ждать.
Алкоголизм - это очень тяжёлое хроническое заболевание. Как и любое заболевание, его невозможно вылечить после одной процедуры. Какое бы кодирование не было использовано для лечения, влечение к алкоголю, безусловно, становится значительно ниже, но зависимость, в той или иной мере остаётся. Всё зависит от страха при употреблении спиртного, психологического настроя пациента и от помощи со стороны своих родных и близких.
1.2 Кодирование информации
Представление информации происходит в различных формах в процессе восприятия окружающей среды живыми организмами и человеком, в процессах обмена информацией между человеком и человеком, человеком и компьютером, компьютером и компьютером и так далее. Преобразование информации из одной формы представления (знаковой системы) в другую называется кодированием.
Средством кодирования служит таблица соответствия знаковых систем, которая устанавливает взаимно однозначное соответствие между знаками или группами знаков двух различных знаковых систем.
В процессе обмена информацией часто приходится производить операции кодирования и декодирования информации. При вводе знака алфавита в компьютер путем нажатия соответствующей клавиши на клавиатуре происходит кодирование знака, то есть преобразование компьютерный код. При выводе знака на экран монитора или принтер происходит обратный процесс - декодирование, когда из компьютерного кода знак преобразуется в его графическое изображение.
С появлением языка, а затем и знаковых систем расширились возможности общения между людьми. Это позволило хранить идеи, полученные знания и любые данные, передавать их различными способами на расстояние и в другие времена - не только своим современникам, но и будущим поколениям. До наших дней дошли творения предков, которые с помощью различных символов увековечили себя и свои деяния в памятниках и надписях. Наскальные рисунки (петроглифы) до сих пор служат загадкой для ученых. Возможно, таким способом древние люди хотели вступить в контакт с нами, будущими жителями планеты и сообщить о событиях их жизни.
Каждый народ имеет свой язык, состоящий из набора символов (букв): русский, английский, японский и многие другие. Вы уже познакомились с языком математики, физики, химии.
Представление информации с помощью какого-либо языка часто называют кодированием.
Код - набор символов (условных обозначений) дли представления информации. Кодирование- процесс представления информации в виде кода.
Водитель передает сигнал с помощью гудка или миганием фар. Кодом является наличие или отсутствие гудка, а в случае световой сигнализации - мигание фар или его отсутствие.
Вы встречаетесь с кодированием информации при переходе дороги по сигналам светофора. Код определяют цвета светофора - красный, желтый, зеленый.
В основу естественного языка, на котором общаются люди, тоже положен код. Только в этом случае он называется алфавитом. При разговоре этот код передается звуками, при письме - буквами. Одну и ту же информацию можно представить с помощью различных кодов. Например, запись разговора можно зафиксировать посредством русских букв или специальных стенографических значков.
По мере развития техники появлялись разные способы кодирования информации. Во второй половине XIX века американский изобретатель Сэмюэль Морзе изобрел удивительный код, который служит человечеству до сих пор. Информация кодируется тремя «буквами»: длинный сигнал (тире),короткий сигнал (точка) и отсутствие сигнала (пауза) для разделения букв. Таким образом, кодирование сводится к использованию набора символов, расположенных в строго определенном порядке.
1.3 Представление информации в двоичном коде
Люди всегда искали способы быстрого обмена сообщениями. Для этого посылали гонцов, использовали почтовых голубей. У народов существовали различные способы оповещения о надвигающейся опасности: барабанный бой, дым костров, флаги и т. д. Однако использование такого представления информации требует предварительной договоренности о понимании принимаемого сообщения.
Знаменитый немецкий ученый Готфрид Вильгельм Лейбниц предложил еще в XVII веке уникальную и простую систему представления чисел. «Вычисление с помощью двоек... является для науки основным и порождает новые открытия... при сведении чисел к простейшим началам, каковы 0 и 1, везде появляется чудесный порядок».
Сегодня такой способ представления информации с помощью языка, содержащего всего два символа алфавита - 0 и 1, широко используется в технических устройствах, в том числе ив компьютере. Эти два символа 0 и 1 принято называть двоичными цифрами или битами (от англ. bit - BinaryDigit - двоичный знак).
Вся информация, которую обрабатывает компьютер должна быть представлена двоичным кодом с помощью двух цифр 0 и 1. Эти два символа принято называть двоичными цифрами или битами. С помощью двух цифр 0 и 1 можно закодировать любое сообщение. Это явилось причиной того, что в компьютере обязательно должно быть организованно два важных процесса: кодирование и декодирование.
Кодирование преобразование входной информации в форму, воспринимаемую компьютером, т.е. двоичный код.
Декодирование – преобразование данных из двоичного кода в форму, понятную человеку.
С точки зрения технической реализации использование двоичной системы счисления для кодирования информации оказалось намного более простым, чем применение других способов. Действительно, удобно кодировать информацию в виде последовательности нулей и единиц, если представить эти значения как два возможных устойчивых состояния электронного элемента:
Отсутствие электрического сигнала;
Наличие электрического сигнала.
Эти состояния легко различать. Недостаток двоичного кодирования - длинные коды. Но в технике легче иметь дело с большим количеством простых элементов, чем с небольшим числом сложных.
Вам приходится постоянно сталкиваться с устройством, которое может находится только в двух устойчивых состояниях: включено/выключено. Конечно же, это хорошо знакомый всем выключатель. А вот придумать выключатель, который мог бы устойчиво и быстро переключаться в любое из 10 состояний, оказалось невозможным. В результате после ряда неудачных попыток разработчики пришли к выводу о невозможности построения компьютера на основе десятичной системы счисления. И в основу представления чисел в компьютере была положена именно двоичная система счисления.
Способы кодирования и декодирования информации в компьютере, в первую очередь, зависит от вид;, информации, а именно, что должно кодироваться: числа, текст, графические изображения или звук.
Представление(кодирование) чисел
Для записи информации о количестве объектов используются числа. Числа записываются с помощью набора специальных символов.
Система счисления - способ записи чисел с помощью набора специальных знаков, называемых цифрами.
Системы счисления подразделяются на позиционные и непозиционные.
В позиционных системах счисления величина, обозначаемая цифрой в записи числа, зависит от её положения в числе (позиции).
Цветные изображения формируются в соответствии с двоичным кодом цвета каждой точки, хранящимся в видеопамяти. Цветные изображения могут иметь различную глубину цвета, которая задается количеством битов, используемым для кодирования цвета точки. Наиболее распространенными значениями глубины цвета являются 8,16, 24 или 32 бита.
Цветное изображение на экране монитора формируется за счет смешивания трех базовых цветов: красного, зеленого и синего. Такая цветовая модель называется RGB-моделью по первым буквам английских названий цветов (Red, Green, Blue).
Заключение
Информацию можно классифицировать разными способами, и разные науки это делают по-разному. Например, в философии различают информацию объективную и субъективную. Объективная информация отражает явления природы и человеческого общества. Субъективная информация создается людьми и отражает их взгляд на объективные явления.
В информатике отдельно рассматривается аналоговая информация и цифровая. Это важно, поскольку человек благодаря своим органам чувств, привык иметь дело с аналоговой информацией, а вычислительная техника, наоборот, в основном, работает с цифровой информацией.
Человек воспринимает информацию с помощью органов чувств. Свет, звук, тепло – это энергетические сигналы, а вкус и запах – это результат воздействия химических соединений, в основе которого тоже энергетическая природа. Человек испытывает энергетические воздействия непрерывно и может никогда не встретиться с одной и той же их комбинацией дважды. Нет двух одинаковых зеленых листьев на одном дереве и двух абсолютно одинаковых звуков – это информация аналоговая. Если же разным цветам дать номера, а разным звукам – ноты, то аналоговую информацию можно превратить в цифровую.
Кодирование информации. Кодирование информации – это процесс формирования определенного представления информации.
В более узком смысле под термином «кодирование» часто понимают переход от одной формы представления информации к другой, более удобной для хранения, передачи или обработки.
Компьютер может обрабатывать только информацию, представленную в числовой форме. Вся другая информация (звуки, изображения, показания приборов и т. д.) для обработки на компьютере должна быть преобразована в числовую форму. Например, чтобы перевести в числовую форму музыкальный звук, можно через небольшие промежутки времени измерять интенсивность звука на определенных частотах, представляя результаты каждого измерения в числовой форме. С помощью компьютерных программ можно преобразовывать полученную информацию, например «наложить» друг на друга звуки от разных источников.
Аналогично на компьютере можно обрабатывать текстовую информацию. При вводе в компьютер каждая буква кодируется определенным числом, а при выводе на внешние устройства (экран или печать) для восприятия человеком по этим числам строятся изображения букв. Соответствие между набором букв и числами называется кодировкой символов.
Как правило, все числа в компьютере представляются с помощью нулей и единиц (а не десяти цифр, как это привычно для людей). Иными словами, компьютеры обычно работают в двоичной системе счисления, поскольку при этом устройства для их обработки получаются значительно более простыми.
Список использованной литературы
1. Агальцов В.П., Титов В.М. Информатика для экономистов: Учебник. – М.: ИД «ФОРУМ»: ИНФРА-М, 2006. – 448 с.
2. Информатика для экономистов: Учебник / Под общ. ред. В.М. Матюшка. – М.: ИНФРА-М, 2007. – 880с.
3. Информатика. Общий курс: Учебник / Под ред. В.И. Колесникова. – М.: Издательско-торговая корпорация «Дашков и К ◦ »; Ростов н/Д: Наука-Пресс, 2008. – 400 с.
Оно осуществляет свою деятельность, чем больше на предприятие осуществляется поставок, тем более стабильно работает данное предприятие. При осуществлении поставок на предприятие производится обработка и хранение большого количества информации, связанной с поставками, которая в себя включает: своевременное и правильное оформление документов и контроль за каждой операцией поступления товаров от...
22. КОДИРОВАНИЕ ИНФОРМАЦИИ
22.1. Общие сведения
Кодирование – представление информации в альтернативном виде. По своей сути кодовые системы (или просто коды) аналогичны , в которых элементам кодируемой информации соответствуют кодовые обозначения. Отличие заключается в том, что в шифрах присутствует переменная часть (ключ), которая для определенного исходного сообщения при одном и том же алгоритме шифрования может выдавать разные шифртексты. В кодовых системах переменной части нет. Поэтому одно и то же исходное сообщение при кодировании, как правило, всегда выглядит одинаково 1 . Другой отличительной особенностью кодирования является применение кодовых обозначений (замен) целиком для слов, фраз или чисел (совокупности цифр). Замена элементов кодируемой информации кодовыми обозначениями может быть выполнена на основе соответствующей таблицы (наподобие таблицы шифрозамен) либо определена посредством функции или алгоритма кодирования.
В качестве элементов кодируемой информации могут выступать:
Буквы, слова и фразы естественного языка;
Различные символы, такие как знаки препинания, арифметические и логические операции, операторы сравнения и т.д. Следует отметить, что сами знаки операций и операторы сравнения – это кодовые обозначения;
Аудиовизуальные образы;
Ситуации и явления;
Наследственная информация;
Кодовые обозначения могут представлять собой:
Буквы и сочетания букв естественного языка;
Графические обозначения;
Электромагнитные импульсы;
Световые и звуковые сигналы;
Набор и сочетание химических молекул;
Кодирование может выполняться в целях :
Удобства хранения, обработки и передачи информации (как правило, закодированная информация представляется более компактно, а также пригодна для обработки и передачи автоматическими программно-техническими средствами);
Удобства информационного обмена между субъектами;
Наглядности отображения;
Идентификации объектов и субъектов;
Сокрытия секретной информации;
Кодирование информации бывает одно- и многоуровневым . Примером одноуровневого кодирования служат световые сигналы, подаваемые светофором (красный – стой, желтый – приготовиться, зеленый – вперед). В качестве многоуровневого кодирования можно привести представление визуального (графического) образа в виде файла фотографии. Вначале визуальная картинка разбивается на составляющие элементарные элементы (пикселы), т.е. каждая отдельная часть визуальной картинки кодируется элементарным элементом. Каждый элемент представляется (кодируется) в виде набора элементарных цветов (RGB: англ. red – красный, green – зеленый, blue – синий) соответствующей интенсивностью, которая в свою очередь представляется в виде числового значения. Впоследствии наборы чисел, как правило, преобразуются (кодируются) с целью более компактного представления информации (например, в форматах jpeg, png и т.д.). И наконец, итоговые числа представляются (кодируются) в виде электромагнитных сигналов для передачи по каналам связи или областей на носителе информации. Следует отметить, что сами числа при программной обработке представляются в соответствии с принятой системой кодирования чисел.
Кодирование информации может быть обратимым и необратимым . При обратимом кодировании на основе закодированного сообщения можно однозначно (без потери качества) восстановить кодируемое сообщение (исходный образ). Например, кодирование с помощью азбуки Морзе или штрихкода. При необратимом кодировании однозначное восстановление исходного образа невозможно. Например, кодирование аудиовизуальной информации (форматы jpg, mp3 или avi) или .
Азбука Морзе - способ кодирования символов (букв алфавита, цифр, знаков препинания и др.) с помощью последовательности «точек» и «тире». За единицу времени принимается длительность одной точки. Длительность тире равна трём точкам. Пауза между элементами одного знака - одна точка (около 1/25 доли секунды), между знаками в слове - 3 точки, между словами - 7 точек. Назван в честь американского изобретателя и художника Сэмюэля Морзе.
Русская буква |
Латинская буква |
Код Морзе | Русская буква |
Латинская буква |
Код Морзе | Символ | Код Морзе |
A | A | · - | Р | R | · - · | 1 | · - - - - |
Б | B | - · · · | С | S | · · · | 2 | · · - - - |
В | W | · - - | Т | T | - | 3 | · · · - - |
Г | G | - - · | У | U | · · - | 4 | · · · · - |
Д | D | - · · | Ф | F | · · - · | 5 | · · · · · |
Е (Ё) | E | · | Х | H | · · · · | 6 | - · · · · |
Ж | V | · · · - | Ц | C | - · - · | 7 | - - · · · |
З | Z | - - · · | Ч | O | - - - · | 8 | - - - · · |
И | I | · · | Ш | CH | - - - - | 9 | - - - - · |
Й | J | · - - - | Щ | Q | - - · - | 0 | - - - - - |
К | K | - · - | Ъ | N | - - · - - | Точка | · · · · · · |
Л | L | · - · · | Ы | Y | - · - - | Запятая | · - · - · - |
М | M | - - | Ь (Ъ) | X | - · · - | - | · · - - · · |
Н | N | - · | Э | E | · · - · · | ! | - - · · - - |
О | O | - - - | Ю | U | · · - - | @ | · - - · - · |
П | P | · - - · | Я | A | · - · - | Конец связи (end contact) | · · - · - |
Рис.22.1. Фрагмент азбуки Морзе
Изначально азбука Морзе применялась для передачи сообщений в телеграфе. При этом точки и тире передавались в виде электрических сигналов, проходящих по проводам. В настоящий момент азбуку Морзе, как правило, используют в местах, где другие средства обмена информации недоступны (например, в тюрьмах).
Любопытный факт связан с изобретателем первой лампочки Томасом Альвой Эдисоном (1847-1931 гг.). Он плохо слышал и общался со своей женой, Мэри Стиуэлл, с помощью азбуки Морзе. Во время ухаживания Эдисон сделал предложение, отстучав слова рукой, и она ответила тем же способом. Телеграфный код стал обычным средством общения для супругов. Даже когда они ходили в театр, Эдисон клал руку Мэри себе на колено, чтобы она могла «телеграфировать» ему диалоги актеров .
Код Бодо - цифровой 5-битный код. Был разработан Эмилем Бодо в 1870 г. для своего телеграфа. Код вводился прямо клавиатурой, состоящей из пяти клавиш, нажатие или ненажатие клавиши соответствовало передаче или непередаче одного бита в пятибитном коде. Существует несколько разновидностей (стандартов) данного кода (CCITT-1, CCITT-2, МТК-2 и др.) В частности МТК-2 представляет собой модификацию международного стандарта CCITT-2 с добавление букв кириллицы.
Управляющие символы | ||||
Двоичный код |
Десятичный код |
Назначение | ||
01000 | 8 | Возврат каретки | ||
00010 | 2 | Перевод строки | ||
11111 | 31 | Буквы латинские | ||
11011 | 27 | Цифры | ||
00100 | 4 | Пробел | ||
00000 | 0 | Буквы русские | ||
Двоичный код |
Десятичный код |
Латинская буква |
Русская буква |
Цифры и прочие символы |
00011 | 3 | A | А | - |
11001 | 25 | B | Б | ? |
01110 | 14 | C | Ц | : |
01001 | 9 | D | Д | Кто там? |
00001 | 1 | E | Е | З |
01101 | 13 | F | Ф | Э |
11010 | 26 | G | Г | Ш |
10100 | 20 | H | Х | Щ |
00110 | 6 | I | И | 8 |
01011 | 11 | J | Й | Ю |
01111 | 15 | K | К | ( |
10010 | 18 | L | Л | ) |
11100 | 28 | M | М | . |
01100 | 12 | N | Н | , |
11000 | 24 | O | О | 9 |
10110 | 22 | P | П | 0 |
10111 | 23 | Q | Я | 1 |
01010 | 10 | R | Р | 4 |
00101 | 5 | S | С | " |
10000 | 16 | T | Т | 5 |
00111 | 7 | U | У | 7 |
11110 | 30 | V | Ж | = |
10011 | 19 | W | В | 2 |
11101 | 29 | X | Ь | / |
10101 | 21 | Y | Ы | 6 |
10001 | 17 | Z | З | + |
Рис.22.2. Стандарт кода Бодо МТК-2
На следующем рисунке показана телетайпная перфолента с сообщением, переданным с помощью кода Бодо.
Рис. 22.3. Перфолента с кодом Бодо
Следует отметить два интересных факта, связанных с кодом Бодо.
1. Сотрудники телеграфной компании AT&T Гильберто Вернам и Мейджор Джозеф Моборн в 1917 г. предложили идею автоматического шифрования телеграфных сообщений на основе кода Бодо. Шифрование выполнялось .
2. Соответствие между английским и русским алфавитами, принятое в МТК-2, было использовано при создании компьютерных кодировок КОИ-7 и КОИ-8.
ASCII и Unicode.
ASCII (англ. American Standard Code for Information Interchange) - американская стандартная кодировочная таблица для печатных и управляющих символов. Изначально была разработана как 7-битная для представления 128 символов, при использовании в компьютерах на символ выделялось 8 бит (1 байт), где 8-ой бит служил для контроля целостности (бит четности). Позднее, с задействованием 8 бита для представления дополнительных символов (всего 256 символов), например букв национальных алфавитов, стала восприниматься как половина 8-битной. В частности на основе ASCII были разработаны кодировки, содержащие буквы русского алфавита: для операционной системы MS-DOS - cp866 (англ. code page – кодовая страница), для операционной системы MS Windows – Windows 1251, для различных операционных систем – КОИ-8 (код обмена информацией, 8 битов), ISO 8859-5 и другие.
Кодировка ASCII | Дополнительные символы | ||||||||||
Двоичный код |
Десятичный код |
Символ | Двоичный код |
Десятичный код |
Символ | Двоичный код |
Десятичный код |
Символ | Двоичный код |
Десятичный код |
Символ |
00000000 | 0 | NUL | 01000000 | 64 | @ | 10000000 | 128 | Ђ | 11000000 | 192 | А |
00000001 | 1 | SOH | 01000001 | 65 | A | 10000001 | 129 | Ѓ | 11000001 | 193 | Б |
00000010 | 2 | STX | 01000010 | 66 | B | 10000010 | 130 | ‚ | 11000010 | 194 | В |
00000011 | 3 | ETX | 01000011 | 67 | C | 10000011 | 131 | ѓ | 11000011 | 195 | Г |
00000100 | 4 | EOT | 01000100 | 68 | D | 10000100 | 132 | „ | 11000100 | 196 | Д |
00000101 | 5 | ENQ | 01000101 | 69 | E | 10000101 | 133 | … | 11000101 | 197 | Е |
00000110 | 6 | ACK | 01000110 | 70 | F | 10000110 | 134 | † | 11000110 | 198 | Ж |
00000111 | 7 | BEL | 01000111 | 71 | G | 10000111 | 135 | ‡ | 11000111 | 199 | З |
00001000 | 8 | BS | 01001000 | 72 | H | 10001000 | 136 | € | 11001000 | 200 | И |
00001001 | 9 | HT | 01001001 | 73 | I | 10001001 | 137 | ‰ | 11001001 | 201 | Й |
00001010 | 10 | LF | 01001010 | 74 | J | 10001010 | 138 | Љ | 11001010 | 202 | К |
00001011 | 11 | VT | 01001011 | 75 | K | 10001011 | 139 | ‹ | 11001011 | 203 | Л |
00001100 | 12 | FF | 01001100 | 76 | L | 10001100 | 140 | Њ | 11001100 | 204 | М |
00001101 | 13 | CR | 01001101 | 77 | M | 10001101 | 141 | Ќ | 11001101 | 205 | Н |
00001110 | 14 | SO | 01001110 | 78 | N | 10001110 | 142 | Ћ | 11001110 | 206 | О |
00001111 | 15 | SI | 01001111 | 79 | O | 10001111 | 143 | Џ | 11001111 | 207 | П |
00010000 | 16 | DLE | 01010000 | 80 | P | 10010000 | 144 | ђ | 11010000 | 208 | Р |
00010001 | 17 | DC1 | 01010001 | 81 | Q | 10010001 | 145 | ‘ | 11010001 | 209 | С |
00010010 | 18 | DC2 | 01010010 | 82 | R | 10010010 | 146 | ’ | 11010010 | 210 | Т |
00010011 | 19 | DC3 | 01010011 | 83 | S | 10010011 | 147 | “ | 11010011 | 211 | У |
00010100 | 20 | DC4 | 01010100 | 84 | T | 10010100 | 148 | ” | 11010100 | 212 | Ф |
00010101 | 21 | NAK | 01010101 | 85 | U | 10010101 | 149 | 11010101 | 213 | Х | |
00010110 | 22 | SYN | 01010110 | 86 | V | 10010110 | 150 | – | 11010110 | 214 | Ц |
00010111 | 23 | ETB | 01010111 | 87 | W | 10010111 | 151 | - | 11010111 | 215 | Ч |
00011000 | 24 | CAN | 01011000 | 88 | X | 10011000 | 152 | |
11011000 | 216 | Ш |
00011001 | 25 | EM | 01011001 | 89 | Y | 10011001 | 153 | ™ | 11011001 | 217 | Щ |
00011010 | 26 | SUB | 01011010 | 90 | Z | 10011010 | 154 | љ | 11011010 | 218 | Ъ |
00011011 | 27 | ESC | 01011011 | 91 | [ | 10011011 | 155 | › | 11011011 | 219 | Ы |
00011100 | 28 | FS | 01011100 | 92 | \ | 10011100 | 156 | њ | 11011100 | 220 | Ь |
00011101 | 29 | GS | 01011101 | 93 | ] | 10011101 | 157 | ќ | 11011101 | 221 | Э |
00011110 | 30 | RS | 01011110 | 94 | ^ | 10011110 | 158 | ћ | 11011110 | 222 | Ю |
00011111 | 31 | US | 01011111 | 95 | _ | 10011111 | 159 | џ | 11011111 | 223 | Я |
00100000 | 32 | 01100000 | 96 | ` | 10100000 | 160 | |
11100000 | 224 | а | |
00100001 | 33 | ! | 01100001 | 97 | a | 10100001 | 161 | Ў | 11100001 | 225 | б |
00100010 | 34 | " | 01100010 | 98 | b | 10100010 | 162 | ў | 11100010 | 226 | в |
00100011 | 35 | # | 01100011 | 99 | c | 10100011 | 163 | Ј | 11100011 | 227 | г |
00100100 | 36 | $ | 01100100 | 100 | d | 10100100 | 164 | ¤ | 11100100 | 228 | д |
00100101 | 37 | % | 01100101 | 101 | e | 10100101 | 165 | Ґ | 11100101 | 229 | е |
00100110 | 38 | & | 01100110 | 102 | f | 10100110 | 166 | ¦ | 11100110 | 230 | ж |
00100111 | 39 | " | 01100111 | 103 | g | 10100111 | 167 | § | 11100111 | 231 | з |
00101000 | 40 | ( | 01101000 | 104 | h | 10101000 | 168 | Ё | 11101000 | 232 | и |
00101001 | 41 | ) | 01101001 | 105 | i | 10101001 | 169 | © | 11101001 | 233 | й |
00101010 | 42 | * | 01101010 | 106 | j | 10101010 | 170 | Є | 11101010 | 234 | к |
00101011 | 43 | + | 01101011 | 107 | k | 10101011 | 171 | « | 11101011 | 235 | л |
00101100 | 44 | , | 01101100 | 108 | l | 10101100 | 172 | ¬ | 11101100 | 236 | м |
00101101 | 45 | - | 01101101 | 109 | m | 10101101 | 173 | ¬ | 11101101 | 237 | н |
00101110 | 46 | . | 01101110 | 110 | n | 10101110 | 174 | ® | 11101110 | 238 | о |
00101111 | 47 | / | 01101111 | 111 | o | 10101111 | 175 | Ї | 11101111 | 239 | п |
00110000 | 48 | 0 | 01110000 | 112 | p | 10110000 | 176 | ° | 11110000 | 240 | р |
00110001 | 49 | 1 | 01110001 | 113 | q | 10110001 | 177 | ± | 11110001 | 241 | с |
00110010 | 50 | 2 | 01110010 | 114 | r | 10110010 | 178 | І | 11110010 | 242 | т |
00110011 | 51 | 3 | 01110011 | 115 | s | 10110011 | 179 | і | 11110011 | 243 | у |
00110100 | 52 | 4 | 01110100 | 116 | t | 10110100 | 180 | ґ | 11110100 | 244 | ф |
00110101 | 53 | 5 | 01110101 | 117 | u | 10110101 | 181 | µ | 11110101 | 245 | х |
00110110 | 54 | 6 | 01110110 | 118 | v | 10110110 | 182 | ¶ | 11110110 | 246 | ц |
00110111 | 55 | 7 | 01110111 | 119 | w | 10110111 | 183 | · | 11110111 | 247 | ч |
00111000 | 56 | 8 | 01111000 | 120 | x | 10111000 | 184 | ё | 11111000 | 248 | ш |
00111001 | 57 | 9 | 01111001 | 121 | y | 10111001 | 185 | № | 11111001 | 249 | щ |
00111010 | 58 | : | 01111010 | 122 | z | 10111010 | 186 | є | 11111010 | 250 | ъ |
00111011 | 59 | ; | 01111011 | 123 | { | 10111011 | 187 | » | 11111011 | 251 | ы |
00111100 | 60 | < | 01111100 | 124 | | | 10111100 | 188 | ј | 11111100 | 252 | ь |
00111101 | 61 | = | 01111101 | 125 | } | 10111101 | 189 | Ѕ | 11111101 | 253 | э |
00111110 | 62 | > | 01111110 | 126 | ~ | 10111110 | 190 | ѕ | 11111110 | 254 | ю |
00111111 | 63 | ? | 01111111 | 127 | DEL | 10111111 | 191 | ї | 11111111 | 255 | я |
Рис. 22.4. Кодовая страница Windows 1251
Unicode - стандарт кодирования символов, позволяющий представить знаки почти всех письменных языков. Стандарт был предложен в 1991 г. некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium, Unicode Inc.). Применение этого стандарта позволяет закодировать большее число символов (чем в ASCII и прочих кодировках) за счет двухбайтового кодирования символов (всего 65536 символов). В документах Unicode могут соседствовать китайские иероглифы, математические символы, буквы греческого алфавита, латиницы и кириллицы.
Коды в стандарте Unicode разделены на несколько разделов. Первые 128 кодов соответствуют кодировке ASCII. Далее расположены разделы букв различных письменностей, знаки пунктуации и технические символы. В частности прописным и строчным буквам русского алфавита соответствуют коды 1025 (Ё), 1040-1103 (А-я) и 1105 (ё).
Шрифт Брайля - рельефно-точечный тактильный шрифт, предназначенный для письма и чтения незрячими людьми. Был разработан в 1824 г. французом Луи Брайлем (Louis Braille), сыном сапожника. Луи в возрасте трёх лет потерял зрение, в результате воспаления глаз, начавшегося от того, что мальчик поранился шорным ножом (подобие шила) в мастерской отца. В возрасте 15 лет он создал свой рельефно-точечный шрифт, вдохновившись простотой «ночного шрифта» капитана артиллерии Шарля Барбье (Charles Barbier), который использовался военными того времени для чтения донесений в темноте.
Для изображения символов (в основном букв и цифр) в шрифте Брайля используются 6 точек, расположенных в два столбца, по 3 в каждом.
Рис. 22.5. Нумерация точек
Каждому символу соответствует свой уникальный набор выпуклых точек. Т.о. шрифт Брайля представляет собой систему для кодирования 2 6 = 64 символов. Но присутствие в шрифте управляющих символов (например, переход к буквам или цифрам) позволяет увеличить количество кодируемых символов.
Управляющие символы | |||
Символ шрифта Брайля |
Назначение | ||
⠠ | Буквы | ||
⠼ | Цифры | ||
Буквы, цифры и остальные символы | |||
Символ шрифта Брайля |
Латинские буквы |
Русские буквы |
Цифры |
⠁ | A | А | 1 |
⠃ | B | Б | 2 |
⠉ | C | Ц | 3 |
⠙ | D | Д | 4 |
⠑ | E | Е | 5 |
⠋ | F | Ф | 6 |
⠛ | G | Г | 7 |
⠓ | H | Х | 8 |
⠊ | I | И | 9 |
⠚ | J | Ж | 0 |
⠅ | K | К | |
⠇ | L | Л | |
⠍ | M | М | |
⠝ | N | Н | |
⠕ | O | О | |
⠏ | P | П | |
⠟ | Q | Ч | |
⠗ | R | Р | |
⠎ | S | С | |
⠞ | T | Т | |
⠥ | U | У | |
⠧ | V | ||
⠺ | W | В | |
⠭ | X | Щ | |
⠽ | Y | ||
⠵ | Z | З | |
⠡ | Ё | ||
⠯ | Й | ||
⠱ | Ш | ||
⠷ | Ъ | ||
⠮ | Ы | ||
⠾ | Ь | ||
⠪ | Э | ||
⠳ | Ю | ||
⠫ | Я | ||
⠲ | Точка | ||
⠂ | Запятая | ||
⠖ | Восклицательный знак | ||
⠢ | Вопросительный знак | ||
⠆ | Точка с запятой | ||
⠤ | Дефис | ||
Пробел |
Рис. 22.6. Шрифт Брайля
Шрифт Брайля, в последнее время, стал широко применяться в общественной жизни и быту в связи с ростом внимания к людям с ограниченными возможностями.
Рис. 22.7. Надпись "Sochi 2014" шрифтом Брайля на золотой медали Параолимпийских игр 2014г.
Штрихкод - графическая информация, наносимая на поверхность, маркировку или упаковку изделий, представляющая собой последовательность черных и белых полос либо других геометрических фигур в целях ее считывания техническими средствами.
В 1948 г. Бернард Сильвер (Bernard Silver), аспирант Института Технологии Университета Дрекселя в Филадельфии, услышал, как президент местной продовольственной сети просил одного из деканов разработать систему, автоматически считывающую информацию о продукте при его контроле. Сильвер рассказал об этом друзьям - Норману Джозефу Вудланду (Norman Joseph Woodland) и Джордину Джохэнсону (Jordin Johanson). Втроем они начали исследовать различные системы маркировки. Их первая работающая система использовала ультрафиолетовые чернила, но они были довольно дороги, а кроме того, со временем выцветали.
Убежденный в том, что система реализуема, Вудланд покинул Филадельфию и перебрался во Флориду в квартиру своего отца для продолжения работы. 20 октября 1949 г. Вудланд и Сильвер подали заявку на изобретение, которая была удовлетворена 7 октября 1952 г. Вместо привычных нам линий патент содержал описание штрихкодовой системы в виде концентрических кругов.
Рис. 22.8. Патент системы Вудланда и Сильвера с концентрическими кругами, предшественниками современных штрихкодов
Впервые штрихкоды начали официально использоваться в 1974 г. в магазинах г. Трой, штат Огайо . Системы штрихового кодирования нашли широкое применение в общественной жизни: торговля, почтовые отправления, финансовые и судебные уведомления, учет единиц хранения, идентификация личностей, контактная информация (веб-ссылки, адреса электронной почты, телефонные номера) и т.д.
Различают линейные (читаемые в одном направлении) и двумерные штрихкоды. Каждая из разновидностей различается как размерами графического изображения, так и объемами представленной информации. В следующей таблице приведены примеры некоторых разновидностей штрихкода.
Таблица 22.1. Разновидности штрихкодов
Наименование | Пример штрих-кода | Примечания |
Линейные | ||
Universal Product Code, UPC (универсальный код товара) |
(UPC-A) |
Американский стандарт штрихкода, предназначенный для кодирования идентификатора товара и производителя. Имеются разновидности: - UPC-E – кодируются 8 цифр; - UPC-A – кодируется 13 цифр. |
European Article Number, EAN (европейский номер товара) |
(EAN-13) |
Европейский стандарт штрихкода, предназначенный для кодирования идентификатора товара и производителя. Имеются разновидности: - EAN-8 – кодируются 8 цифр; - EAN 13 – кодируется 13 цифр; - EAN-128 – кодируется любое количество букв и цифр, объединенных в регламентированные группы. ГОСТ ИСО/МЭК 15420-2001 «Автоматическая идентификация. Кодирование штриховое. Спецификация символики EAN/UPC (ЕАН/ЮПиСи)». |
Code 128 (Код 128) |
Включает в себя 107 символов. Из которых 103 символа данных, 3 стартовых, и 1 остановочный символ. Для кодирования всех 128-ми символов ASCII предусмотрено три комплекта символов - A, B и C, которые могут использоваться внутри одного штрихкода. EAN-128 кодирует информацию по алфавиту Code 128 ГОСТ 30743-2001 (ИСО/МЭК 15417-2000) «Автоматическая идентификация. Кодирование штриховое. Спецификация символики Code 128 (Код 128)». |
|
Двумерные | ||
DataMatrix (матричные данные) |
Максимальное количество символов, которые помещаются в один код - 2048 байт. ГОСТ Р ИСО/МЭК 16022-2008 «Автоматическая идентификация. Кодирование штриховое. Спецификация символики Data Matrix». |
|
QR-код (англ. quick response - быстрый отклик) |
Квадраты в углах изображения позволяют нормализовать размер изображения и его ориентацию, а также угол, под которым сенсор относится к поверхности изображения. Точки переводятся в двоичные числа с проверкой контрольной суммы. Максимальное количество символов, которые помещаются в один QR-код: - цифры - 7089; - цифры и буквы (латиница) - 4296; - двоичный код - 2953 байт; - иероглифы - 1817. |
|
MaxiCode (максикод) |
Размер - дюйм на дюйм (1 дюйм = 2.54 см). Используется для грузоотправительных и грузоприемных систем. ГОСТ Р 51294.6-2000 «Автоматическая идентификация. Кодирование штриховое. Спецификация символики MaxiCode (Максикод)». |
|
PDF147 (англ. Portable Data File - переносимый файл данных) |
Применяется при идентификации личности, учете товаров, при сдаче отчетности в контролирующие органы и других областях. Поддерживает кодирование до 2710 символов и может содержать до 90 строк. |
|
Microsoft Tag (метка Microsoft) |
Разработан для распознавания при помощи фотокамер, встроенных в мобильные телефоны. Может вместить в себя столько же символов, что Code128. Предназначен для быстрой идентификации и получения на устройство заранее подготовленной информации (веб-ссылки, произвольного текста длиной до 1000 символов, телефонного номера и т.п.), привязанной к коду и хранящейся на сервере компании Microsoft. Содержит 13 байт плюс один дополнительный бит для контроля четности. |
Представление чисел в двоичном виде (в компьютере) . Как известно, информация, хранящаяся и обрабатываемая в компьютерах, представлена в двоичном виде. Бит (англ. bi nary digit - двоичное число; также игра слов: англ. bit - кусочек, частица) - единица измерения количества информации, равная одному разряду в двоичной системе счисления. С помощью бита можно закодировать (представить, различать) два состояния (0 или 1; да или нет). Увеличивая количество битов (разрядов), можно увеличить количество кодируемых состояний. Например, для байта (англ. byte), состоящего из 8 битов, количество кодируемых состояний составляет 2 8 = 256.
Числа кодируются в т.н. форматах с фиксированной и плавающей запятой.
1. Формат с фиксированной запятой , в основном, применяется для целых чисел, но может применяться и для вещественных чисел, у которых фиксировано количество десятичных знаков после запятой. Для целых чисел подразумевается, что «запятая» находится справа после младшего бита (разряда), т.е. вне разрядной сетки. В данном формате существуют два представления: беззнаковое (для неотрицательных чисел) и со знаком.
Для беззнакового представления все разряды отводятся под представление самого числа. Например, с помощью байта можно представить беззнаковые целые числа от 0 10 до 255 10 (00000000 2 - 11111111 2) или вещественные числа с одним десятичным знаком от 0.0 10 до 25.5 10 (00000000 2 - 11111111 2). Для знакового представления, т.е. положительных и отрицательных чисел, старший разряд отводится под знак (0 – положительное число, 1 – отрицательное).
Различают прямой, обратный и дополнительный коды записи знаковых чисел.
В прямом коде запись положительного и отрицательного числа выполняется так же, как и в беззнаковом представление (за исключение того, что старший разряд отводится под знак). Таким образом, числа 5 10 и -5 10 записываются, как 00000101 2 и 10000101 2 . В прямом коде имеются два кода числа 0: «положительный нуль» 00000000 2 и «отрицательный нуль» 10000000 2 .
При использовании обратного кода отрицательное число записывается в виде инвертированного положительного числа (0 меняются на 1 и наоборот). Например, числа 5 10 и -5 10 записываются, как 00000101 2 и 11111010 2 . Следует отметить, что в обратном коде, как и в прямом, имеются «положительный нуль» 00000000 2 и «отрицательный нуль» 11111111 2 . Применение обратного кода позволяет вычесть одно число из другого, используя операцию сложения, т.е. вычитание двух чисел X – Y заменяется их суммой X + (-Y). При этом используются два дополнительных правила:
Вычитаемое число инвертируется (представляется в виде обратного кода);
Если количество разрядов результата получается больше, чем отведено на представление чисел, то крайний левый разряд (старший) отбрасывается, а к результату добавляется 1 2 .
В следующей таблице приведены примеры вычитания.
Таблица 22.2. Примеры вычитания двух чисел с использованием обратного кода
X – Y | 5 – 5 | 6 – 5 | 5 – 6 | 5 – (-6) |
X 2 | 00000101 | 00000110 | 00000101 | 00000101 |
Y 2 | 00000101 | 00000101 | 00000110 | 11111001 |
Замена сложением | 5 + (-5) | 6 + (-5) | 5 + (-6) | 5 + 6 |
Обратный код для вычитаемого (-Y 2) | 11111010 | 11111010 | 11111001 | 00000110 |
Сложение | 00000101 + 11111010 11111111 |
00000110 + 11111010 100000000 |
00000101 + 11111001 11111110 |
00000101 + 00000110 00001011 |
не требуется | 00000000 + 00000001 00000001 |
не требуется | не требуется | |
Результат | -0 | 1 | -1 | 11 |
Несмотря на то, что обратный код значительно упрощает вычислительные процедуры, а соответственно и быстродействие компьютеров, наличие двух «нулей» и другие условности привели к появлению дополнительного кода. При представлении отрицательного числа его модуль вначале инвертируется, как в обратном коде, а затем к инверсии сразу добавляется 1 2 .
В следующей таблице приведены некоторые числа в различном кодовом представлении.
Таблица 22.3. Представление чисел в различных кодах
Десятичное представление |
Код двоичного представления (8 бит) | ||
прямой | обратный | дополнительный | |
127 | 01111111 | 01111111 | 01111111 |
6 | 00000110 | 00000110 | 00000110 |
5 | 00000101 | 00000101 | 00000101 |
1 | 00000001 | 00000001 | 00000001 |
0 | 00000000 | 00000000 | 00000000 |
-0 | 10000000 | 11111111 | --- |
-1 | 10000001 | 11111110 | 11111111 |
-5 | 10000101 | 11111010 | 11111011 |
-6 | 10000110 | 11111001 | 11111010 |
-127 | 11111111 | 10000000 | 10000001 |
-128 | --- | --- | 10000000 |
При представлении отрицательных чисел в дополнительных кодах второе правило несколько упрощается - если количество разрядов результата получается больше, чем отведено на представление чисел, то только отбрасывается крайний левый разряд (старший).
Таблица 22.4. Примеры вычитания двух чисел с использованием дополнительного кода
X – Y | 5 – 5 | 6 – 5 | 5 – 6 | 5 – (-6) |
X 2 | 00000101 | 00000110 | 00000101 | 00000101 |
Y 2 | 00000101 | 00000101 | 00000110 | 11111010 |
Замена сложением | 5 + (-5) | 6 + (-5) | 5 + (-6) | 5 + 6 |
Дополнительный код для вычитаемого (-Y 2) | 11111011 | 11111011 | 11111010 | 00000110 |
Сложение | 00000101 + 11111011 00000000 |
00000110 + 11111011 100000001 |
00000101 + 11111010 11111111 |
00000101 + 00000110 00001011 |
Отбрасывание старшего разряда и добавление 1 2 | не требуется | 00000001 | не требуется | не требуется |
Результат | -0 | 1 | -1 | 11 |
Можно возразить, что представление чисел в дополнительных кодах требует на одну операцию больше (после инверсии всегда требуется сложение с 1 2), что может и не потребоваться в дальнейшем, как в примерах с обратными кодами. В данном случае срабатывает известный «принцип чайника». Лучше сделать процедуру линейной, чем применять в ней правила «Если A то B» (даже если оно одно). То, что с человеческой точки зрения кажется увеличением трудозатрат (вычислительной и временной сложности), с точки зрения программно-технической реализации может оказаться эффективней.
Еще одно из преимуществ дополнительного кода перед обратным заключается в возможности представления в единице информации на одно число (состояние) больше, за счет исключения «отрицательного нуля». Поэтому, как правило, диапазон представления (хранения) для знаковых целых чисел длиной один байт составляет от +127 до -128.
2. Формат с плавающей запятой , в основном, используется для вещественных чисел. Число в данном формате представляется в экспоненциальном виде
X = e n * m, (22.1)
где e - основание показательной функции;
n - порядок основания;
e n - характеристика числа;
m - мантисса (лат. mantissa - прибавка) – множитель, на который надо умножить характеристику числа, чтобы получить само число.
Например, число десятичное число 350 может быть записано, как 3.5 * 10 2 , 35 * 10 1 , 350 * 10 0 и т.д. В нормализованной научной записи , порядок n выбирается такой, чтобы абсолютная величина m оставалась не меньше единицы, но строго меньше десяти (1 ≤ |m| < 10). Таким образом, в нормализованной научной записи число 350 выглядит, как 3.5 * 10 2 . При отображении чисел в программах, учитывая, что основание равно 10, их записывают в виде m E ± n , где Е означает «*10^» («…умножить на десять в степени…»). Например, число 350 – 3.5Е+2, а число 0.035 – 3.5Е-2.
Так как числа хранится и обрабатывается в компьютерах в двоичном виде, то для этих целей принимается e = 2. Одной из возможных форм двоичного представления чисел с плавающей запятой является следующая.
Рис. 22.9. Двоичный формат представления чисел с плавающей запятой
Биты bn± и bm±, означающие знак порядка и мантиссы, кодируются аналогично числам с фиксированной запятой: для положительных чисел «0», для отрицательных – «1». Значение порядка выбирается таким образом, чтобы величина целой части мантиссы в десятичном (и соответственно в двоичном) представлении равнялась «1», что будет соответствовать нормализованной записи для двоичных чисел. Например, для числа 350 10 порядок n = 8 10 = 001000 2 (350 = 1.3671875 * 2 8), а для 576 10 – n = 9 10 = 001001 2 (576 = 1.125 * 2 9). Битовое представление величины порядка может быть выполнено в прямом, обратном или дополнительном коде (например, для n = 8 10 бинарный вид 001000 2). Величина мантиссы отображает дробную часть. Для ее преобразования в двоичный вид, она последовательно умножается на 2, пока не станет равной 0. Например,
Рис. 22.10. Пример получения дробной части в бинарном виде
Целые части, получаемые в результате последовательного перемножения, и представляют собой двоичный вид дробной части (0.3671875 10 = 0101111 2). Оставшаяся часть разрядов величины мантиссы заполняется 0. Таким образом, итоговый вид числа 350 в формате с плавающей запятой с учетом представления мантиссы в нормализованной записи
Рис. 22.11. Двоичный вид числа 350
В программно-аппаратных реализациях арифметических действий широко распространен стандарт представления чисел с плавающей точкой IEEE 2 754 (последняя редакция «754-2008 - IEEE Standard for Floating-Point Arithmetic»). Данный стандарт определяет форматы с плавающими запятыми для представления чисел одинарной (англ. single, float) и двойной (англ. double) точности. Общая структура форматов
Рис. 22.12. Общий формат представления двоичных чисел в стандарте IEEE 754
Форматы представления отличаются количеством бит (байт), отводимым для представления чисел, и, соответственно, точностью представления самих чисел.
Таблица 22.5. Характеристики форматов представления двоичных чисел в стандарте IEEE 754
Формат | single | double |
Общий размер, бит (байт) | 32 (4) | 64 (8) |
Число бит для порядка | 8 | 11 |
Число бит для мантиссы (без учета знакового бита) |
23 | 52 |
Величина порядка | 2 128 .. 2 -127 (±3.4 * 10 38 .. 1.7 * 10 -38) |
2 1024 .. 2 -1023 (±1.8 * 10 308 .. 9.0 * 10 -307) |
Смещение порядка | 127 | 1023 |
Диапазон представления чисел (без учета знака) |
±1.4 * 10 -45 .. 3.4 * 10 38 | ±4.9 * 10 -324 .. 1.8 * 10 308 |
Количество значащих цифр числа (не более) |
8 | 16 |
Особенностью представления чисел по стандарту IEEE является отсутствие бита под знак порядка. Несмотря на это, величина порядка может принимать как положительные значения, так и отрицательные. Этот момент учитывается т.н. «смещением порядка». После преобразования двоичного вида порядка (записанного в прямом коде) в десятичный от полученной величины отнимается «смещение порядка». В результате получается «истинное» значения порядка числа. Например, если для числа одинарной точности указан порядок 11111111 2 (= 255 10), то величина порядка на самом деле 128 10 (= 255 10 - 127 10), а если 00000000 2 (= 0 10), то -127 10 (= 0 10 - 127 10).
Величина мантиссы указывается, как и в предыдущем случае, в нормализованном виде.
C учетом вышеизложенного, число 350 10 в формате одинарной точности стандарта IEEE 754 записывается следующим образом.
Рис. 22.13. Двоичный вид числа 350 по стандарту IEEE
К другим особенностям стандарта IEEE относится возможность представления специальных чисел. К ним относятся значения NaN (англ. Not a Number - не число) и +/-INF (англ. Infinity - бесконечность), получающихся в результате операций типа деления на ноль. Также сюда попадают денормализованные числа, у которых мантисса меньше единицы.
В заключение по числам с плавающей запятой несколько слов о пресловутой «ошибке округления ». Т.к. в двоичной форме представления числа хранится только несколько значащих цифр, она не может «покрыть» все многообразие вещественных чисел в заданном диапазоне. В результате, если число невозможно точно представить в двоичной форме, оно представляется ближайшим возможным. Например, если к числу типа double «0.0» последовательно добавлять «1.7», то можно обнаружить следующую «картину» изменения значений.
0.0
1.7
3.4
5.1
6.8
8.5
10.2
11.899999999999999
13.599999999999998
15.299999999999997
16.999999999999996
18.699999999999996
20.399999999999995
22.099999999999994
23.799999999999994
25.499999999999993
27.199999999999992
28.89999999999999
30.59999999999999
32.29999999999999
33.99999999999999
35.699999999999996
37.4
39.1
40.800000000000004
42.50000000000001
44.20000000000001
45.90000000000001
47.600000000000016
…
Рис. 22.14. Результат последовательного добавления числа 1.7 (Java 7)
Другой нюанс обнаруживается при сложении двух чисел, у которых значительно отличается порядок. Например, результатом сложения 10 10 + 10 -10 будет 10 10 . Даже если последовательно триллион (10 12) раз добавлять 10 -10 к 10 10 , то результат останется прежним 10 10 . Если же к 10 10 добавить произведение 10 -10 * 10 12 , что с математической точки зрения одно и то же, результат станет 10000000100 (1.0000000100 * 10 10).
Генетический код - свойственная всем живым организмам кодированная аминокислотная последовательность белков. Кодирование выполняется при помощи нуклеотидов 3 , входящих в состав ДНК (дезоксирибонуклеиновой кислоты). ДКН - макромолекула, обеспечивающая хранение, передачу из поколения в поколение и реализацию генетической программы развития и функционирования живых организмов. Пожалуй, самый главный код в истории человечества.
В ДНК используется четыре азотистых основания - аденин (А), гуанин (G), цитозин (С), тимин (T), которые в русскоязычной литературе обозначаются буквами А, Г, Ц и Т. Эти буквы составляют алфавит генетического кода. В молекулах ДНК нуклеотиды выстраиваются в цепочки и, таким образом, получаются последовательности генетических букв.
Белки практически всех живых организмов построены из аминокислот всего 20 видов. Эти аминокислоты называют каноническими. Каждый белок представляет собой цепочку или несколько цепочек аминокислот, соединенных в строго определенной последовательности. Эта последовательность определяет строение белка, а, следовательно, все его биологические свойства. Синтез белков (т.е. реализация генетической информации в живых клетках) осуществляется на основе информации, заложенной в ДНК. Для кодирования каждой из 20 аминокислот, а также сигнала «стоп», означающего конец белковой последовательности, достаточно трех последовательных нуклеотидов (триплета).
Рис. 22.15. Фрагмент ДНК
2 IEEE (англ. Institute of Electrical and Electronics Engineers) - институт инженеров по электротехнике и электронике.
3 Содержит азотистое основание, соединенное с сахаром, и фосфорную кислоту.
22.3. Секретные кодовые системы
Секретные коды, как и шифры, предназначены для обеспечения конфиденциальности информации. Изначально секретные кодовые системы представляли собой систему, в основе которой лежало подобие жаргонного кода. Они возникли в целях сокрытия имен реальных людей, упоминавшихся в переписке. Это были небольшие списки, в которых в были записаны скрываемые имена, а напротив них - кодовые замены (подстановки). Официальные коды для сокрытия содержания донесений, которыми пользовались папские эмиссары и послы средиземноморских городов-государств, найденные в ранних архивах Ватикана, датируются XIV в. По мере возрастания потребности в безопасности переписки, у представителей городов-государств появились более обширные перечни, которые включали в себя не только кодовые замены имен людей, но и стран, городов, видов оружия, провианта и т.д. В целях повышения защищенности информации к перечням были добавлены шифралфавиты для кодирования слов, не вошедших в перечень, а также правила их использования, базирующиеся на различных стеганографических и криптографических методах. Такие сборники получили название «номенклаторы ». С XV и до середины XIX в. они были основной формой обеспечения конфиденциальности информации .
Вплоть до XVII столетия в номенклаторах слова открытого текста и их кодовые замены шли в алфавитном порядке, пока французский криптолог Антуан Россиньоль не предложил использовать более стойкие номенклаторы, состоящие из двух частей. В них существовало два раздела: в одном перечислялись в алфавитном порядке элементы открытого текста, а кодовые элементы были перемешаны. Во второй части в алфавитном порядке шли перечни кодов, а перемешанными были уже элементы открытого текста.
Изобретение телеграфа и азбуки Морзе, а также прокладка трансатлантического кабеля в середине XIX в. значительно расширило сферы применения секретных кодов. Помимо традиционных областей их использования (в дипломатической переписке и в военных целях) они стали широко использоваться в коммерции и на транспорте. Секретные кодовые системы того времени в своем названии содержали слово «код » («Код Госдепартамента (1867 г.)», «Американский код для окопов», «Речные коды: Потомак», «Черный код») или «шифр » («Шифр Госдепартамента (1876 г.)», «Зеленый шифр»). Следует отметить, что, несмотря на наличие в названии слова «шифр», в основу этих систем было положено кодирование.
Рис. 22.16. Фрагмент «Шифра Госдепартамента (1899 г.)»
Разработчики кодов, как и составители шифров, нередко добавляли дополнительные степени защиты, чтобы затруднить взлом своих кодов. Такой процесс называется перешифрованием . В итоге секретные кодовые системы сочетали в себе, как стеганографические, так и криптографические способы обеспечения конфиденциальности информации. Наиболее популярные из них приведены в следующей таблице.
Таблица 22.6. Способы обеспечения конфиденциальности информации в секретных кодовых системах
Способ | Тип | Примечания | Примеры (кодируемое слово – кодовое обозначение) |
Замена слова (словосочетания) другим словом произвольной длины | стеганографический | Аналог - . |
1. Номенклатор города Сиены (XV в.): Cardinales (кардинал) – Florenus; Antonello da Furli (Антолло да Фурли) – Forte. 2. Шифр Госдепартамента 1899 г.: Russia (Россия) – Promotes; Cabinet of Russia (Правительство России) – Promptings. 3. Код руководителя службы связи (1871 г.): 10:30 – Anna, Ida; 13th (тринадцатый) – Charles, Mason. |
Замена слова (словосочетания) символьной строкой фиксированной длины | стеганографический | Аналог - . | 1. Американский код для окопов (1918 г.): Patrol (патруль) – RAL; Attack (атака) – DIT. 2. Код Госдепартамента А-1 (1919 г.): Diplomat (дипломат) – BUJOH; Diplomatic corps (дипломатический корпус) – BEDAC. |
Замена слова (словосочетания) числом | стеганографический | Аналог - . Для одного кодируемого слова могли использоваться несколько кодовых обозначений. |
1. Номенклатор Бенджамина Толмаджа (1779 г.): Defense (оборона) – 143; Attack (атака) – 38. 2. Код вещания для торговых судов союзников во Второй мировой войне (BAMS): остров – 36979; порт – 985. |
Замена слова (словосочетания) набором цифр фиксированной длины | стеганографический | Аналог - . | 1. Американский код для окопов (1918 г.): Patrol (патруль) – 2307; Attack (атака) – 1447. 2. Американский служебный радиокод № 1 (1918 г.): Oil (масло) – 001; Bad (плохой) – 642. |
Замена букв | криптографический | Аналоги – шифр , . В качестве кодового обозначения могли использоваться буквы, числа, графические обозначения. Применялась для слов, отсутствующих в списке кодируемых. |
1. Номенклатор города Сиены (XV в.): q – ; s – . 2. Номенклатор Джеймса Мэдисона (1781 г.): o – 527; p – 941. 3. Американский код для окопов (1918 г.): a – 1332 .. 2795 или CEW .. ZYR. Содержал также 30 алфавитов шифрозамен для перешифрования кодовых обозначений. |
Замена сочетания букв | криптографический | Аналог – . В качестве кодового обозначения могли использоваться буквы, числа, графические обозначения. |
1. Номенклатор города Сиены (XV в.): bb – ; tt – . 2. Номенклатор X-Y-Z (1737 г.): ce – 493; ab – 1194. |
Использование пустых знаков | стеганографический | Аналог – . Ничего назначавшие (лат. nihil importantes) символы использовались для запутывания криптоаналитиков. |
1. Номенклатор города Сиены (XV в.): , . 2. Речные коды: Потомак (1918 г.): ASY. |
Использование аддитивных чисел | криптографический | Аналог – . Аддитивное число, добавляемое к числовому кодовому обозначению, служило в качестве переменной части кода (ключа). |
Шифр Госдепартамента 1876 г.: правило «Horse» (лошадь) в начале сообщения означало, что при кодировании последующих кодовых обозначений использовалось аддитивное число 203; «Hawk» (ястреб) - 100. |
Перестановка букв (цифр) в кодовых обозначениях | криптографический | Аналог – . | Телеграфный код для обеспечения секретности при передаче телеграмм (1870 г.): одно из правил предписывало перестановку последних трех цифр в цифровом кодовом обозначении, состоящем из пяти цифр. |
Перестановка кодовых обозначений | криптографический | Аналог – . | Шифр Госдепартамента 1876 г.: правило «Tiger» (тигр) в начале сообщения означало, что раскодированное сообщение надо читать с последнего слова по первое (задом-наперед); «Tapir» (тапир) – меняя местами каждую пару слов (т.е. первое и второе, третье и четвертое и т.д.). |
Сочетание различных способов кодирования и перешифровки в кодовой системе было обычной практикой у разработчиков кодов и стало применяться практически с самого начала их появления. Так, еще в номенклаторе, использовавшемся в г. Сиена в XV в., помимо кодовых замен слов, применялись для замены букв, их и пустых знаков. Наибольшего расцвета эта практика получила в конце XIX – начале XX вв. В частности в «Шифре Госдепартамента 1876 г.» (англ. Red Book – Красная книга), состоящем из 1200 страниц, и его дополнении «Неподдающийся декодированию код: дополнение к шифру Госдепартамента» применялись:
Кодовые обозначения в виде слов и чисел;
Одна и та же информация может быть представлена (закодирована) в нескольких формах. C появлением компьютеров возникла необходимость кодирования всех видов информации, с которыми имеет дело и отдельный человек, и человечество в целом. Но решать задачу кодирования информации человечество начало задолго до появления компьютеров. Грандиозные достижения человечества - письменность и арифметика - есть не что иное, как система кодирования речи и числовой информации. Информация никогда не появляется в чистом виде, она всегда как-то представлена, как-то закодирована.
Двоичное кодирование - один из распространенных способов представления информации. В вычислительных машинах, в роботах и станках с числовым программным управлением, как правило, вся информация, с которой имеет дело устройство, кодируется в виде слов двоичного алфавита.
Кодирование символьной (текстовой) информации.
Основная операция, производимая над отдельными символами текста - сравнение символов.
При сравнении символов наиболее важными аспектами являются уникальность кода для каждого символа и длина этого кода, а сам выбор принципа кодирования практически не имеет значения.
Для кодирования текстов используются различные таблицы перекодировки. Важно, чтобы при кодировании и декодировании одного и того же текста использовалась одна и та же таблица.
Таблица перекодировки - таблица, содержащая упорядоченный некоторым образом перечень кодируемых символов, в соответствии с которой происходит преобразование символа в его двоичный код и обратно.
Наиболее популярные таблицы перекодировки: ДКОИ-8, ASCII, CP1251, Unicode.
Исторически сложилось, что в качестве длины кода для кодирования символов было выбрано 8 бит или 1 байт. Поэтому чаще всего одному символу текста, хранимому в компьютере, соответствует один байт памяти.
Различных комбинаций из 0 и 1 при длине кода 8 бит может быть 28 = 256, поэтому с помощью одной таблицы перекодировки можно закодировать не более 256 символов. При длине кода в 2 байта (16 бит) можно закодировать 65536 символов.
Кодирование числовой информации
Сходство в кодировании числовой и текстовой информации состоит в следующем: чтобы можно было сравнивать данные этого типа, у разных чисел (как и у разных символов) должен быть различный код. Основное отличие числовых данных от символьных заключается в том, что над числами кроме операции сравнения производятся разнообразные математические операции: сложение, умножение, извлечение корня, вычисление логарифма и пр. Правила выполнения этих операций в математике подробно разработаны для чисел, представленных в позиционной системе счисления.