Текст
Домой
Текст
Числа
Графика
Звук
Литература

 

Двоичное кодирование текстовой информации: кодовые таблицы символов

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

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

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

Кодирование информации подразумевает преоб­разование знаков одной знаковой системы в зна­ки или группы знаков другой знаковой системы. Обратное преобразование называют декодированием.

При кодировании информации для представления ее в памяти ЭВМ используется двоичный способ, т.е. любая информация, будь то числа, текст, графическое изображение, звук или видео, представляется универсальным двоичным кодом. Алфавит этого кода составляют символы 0 и 1. Почему был выбран именно этот способ кодирования? Дело в том, что в некоторых из первых ЭВМ предпринимались попытки внедрить десятичный или троичный код, но ни один из этих вариантов кодирования не дожил до современности. Ответ на вопрос довольно прост: два существенно различных состояния, представляющих соответственно 0 или 1, технически реализовать значительно проще, чем все остальные случаи. Действительно, отсутствие напряжения может изображать 0, наличие— 1; отсутствие намагниченности участка носителя информации — 0, намагниченность — 1 и т.д. Поэтому другие варианты были просто изжиты.

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

Текстовая информация состоит из символов: букв, цифр, знаков препинания, скобок и других символов. Тексты вводятся в память компьютера с помощью клавиатуры или из файлов. В оперативную память символы алфавита попадают в форме двоичного кода. В русском языке 33 буквы (символа) — для их кодирования достаточно 33 различных байтов. Если есть потребность различать прописные (заглавные) и строчные буквы, то потребуется 66 байтов.  Для строчных и прописных букв английского языка хватит еще 52 символов — получается 118. Добавим сюда цифры (от 0 до 9), все возмож­ные знаки препинания: точку, запятую, тире, восклицательный и вопросительный знаки. Добавим скобки: круглые, квадратные и фигурные, а также знаки математических операций: "+", "-", "=", "/", "*". Добавим специальные символы, например, такие, как: "%", "$", "&", "@", — все их мож­но выразить восемью битами, и при этом еще останутся свободные коды, которые можно исполь­зовать для других целей.

Чаще всего каждый символ текста кодируется восьмиразрядным двоичным кодом. Для представления текстовой информации в компьютере чаще всего используется алфавит мощностью 256 сим­волов. Один символ такого алфавита несет 8 бит информации: 28 = 256, 8 бит = 1 байту, следовательно, двоичный код каждого символа в компь­ютерном тексте занимает 1 байт памяти.

Все символы компьютерного алфавита прону­мерованы от 0 до 255. Каждому номеру соответ­ствует восьмиразрядный двоичный код от 00000000 до 11111111. Этот код — просто порядковый но­мер символа в двоичной системе счисления.

Таблица, в которой всем символам компьютер­ного алфавита поставлены в соответствие порядковые номера, называется таблицей кодировки. В этой таблице должно быть 256 строк, в которых записывается, какой байт какому символу соот­ветствует.

Для разных типов ЭВМ используются различные таблицы кодировки. С распространением персональных компьютеров типа IBM PC международным стандартом стала таблица кодировки под названием ASCII (American Standart Code for Information Interchange) — Американский стандарт­ный код для информационного обмена. Данную таблицу кодировки ввел в действие Институт стандартизации США (ANSI American National Standard Institute). В системе ASCII закреплены две таблицы кодирования – базовая и расширенная (альтернативная). Базовая закрепляет значения кодов от 0 до 127, а расширенная относится к символам с номерами от 128 до 255. Первые 32 кода базовой таблицы, начиная с нулевого, отданы производителям аппаратных средств. В этой области размещаются так называемые управляющие коды, которым не соответствуют никакие символы языков, и, соответственно, эти коды не выводятся ни на экран, на устройство печати. Начиная с кода 32 по код 127 размещены коды символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых вспомогательных символов. В кодовой таблице ASCII латинские буквы (прописные и строчные) располагаются в алфавитном порядке. Расположение цифр также упорядочено  по возрастанию значений.

За вторую половину кодовой таблицы – расширенную - коды от 128 (10000000) до 255 (11111111) стандарт ASCII не отвечает, они являются национальными.  Разные страны могут здесь свои таблицы. Отсутствие единого стандарта в этой области привело к множественности одновременно действующих кодировок. Тексты, созданные в одной кодировке, не будут правильно отображаться в другой.

            Рис. 1. Отображение текста при выборе  кодировочных таблиц в среде Explorer 

Только в России можно указать три действующих стандарта кодировки и еще два устаревших (Windows–1251, КОИ-8, ISO, ГОСТ и ГОСТ-альтернативная). Кодировка символов русского языка, известная как кодировка  Windows–1251,была введена «извне» - компанией Microsoft, но, учитывая широкое распространение операционных систем и других продуктов этой компании в России, она глубоко закрепилась и нашла широкое распространение. Это кодировка используется на большинстве локальных компьютеров, работающих на платформе Windows.

Другая распространенная кодировка носит название КОИ-8 (код обмена информацией, восьмизначный) – ее происхождение относится к временам действия Совета Экономической Взаимопомощи. Сегодня кодировка КОИ-8 имеет широкое распространение в компьютерных сетях на территории России и в российском секторе Интернета.

Международный стандарт, в котором предусмотрена кодировка символов русского алфавита, носит название ISO (International Standard Organization – Международный институт стандартизации). На практике данная кодировка используется редко.

На компьютерах, работающих в операционных системах MS-DOS, могут действовать еще две кодировки (ГОСТ и кодировка ГОСТ-альтернативная). Первая из них считалась устаревшей даже в первые годы появления персональной вычислительной техники, но вторая используется и по сей день.

В настоящее время широкое распространение получил новый международный стандарт Unicode, который отводит на каждый символ не один байт, а два, поэтому с его помощью  можно закодировать не 256 символов, а 216=65536 различных символов – этого достаточно для размещения в одной таблице всех широкоупотребляемых языков.

 

Задачи и упражнения

 

1.      Оцените число символов алфавита, кодируемого с помощью двоичных последовательностей длиной:

а) 4 знака;      б) 8 знаков;           в) 16 знаков.

 

2.      Десятичный код (номер) буквы «о» в таблице кодировки символов ASCII равен 111. Что зашифровано с помощью последовательности десятичных кодов:

    а) 115 112 111 114 116; б) 109 111 117 115  101.

 

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

    а) EXCEL;           б) Word.

 

4.      По шестнадцатеричному коду восстановить двоичный код и, пользуясь таблицей кодировки символов, расшифровать слова:

    а) 42 61 73 69 63;         б) 50 61 73 63 61 6C.

 

5.     По шестнадцатеричному коду восстановить десятичный код и, пользуясь таблицей кодировки символов, расшифровать слово: 8A 8E 8C 8F 9C 9E 92 85 90.

Домой | Текст | Числа | Графика | Звук | Литература

Сайт создан в системе uCoz