3.1.3.     СИМВОЛЬНЫЕ ДАННЫЕ

При нажатии клавиши клавиатуры сигнал посылается в компьютер в виде двоичного числа, которое хранится в кодовой таблице. Кодовая таблица – это внутреннее представление символов в компьютере. В качестве стандарта в мире принята таблица ASCII (American Standart Code for Information Interchange – Американский стандартный код для обмена информацией). Для хранения двоичного кода одного символа выделен 1 байт = 8 бит. Так как 1 бит принимает значение 0 или 1, то с помощью одного байта можно закодировать 28 = 256 различных символов, так как именно столько различных кодовых комбинаций можно составить. Эти комбинации и составляют таблицу ASCII (рис. 3.1). Например, буква S имеет код 11; при нажатии ее на клавиатуре происходит декодирование двоичного кода, и по нему строится изображение символа на экране монитора.

Стандарт ASCII определяет первые 128 символов: цифры, буквы латинского алфавита, управляющие символы.

Для кодирования символов, отличных от символов английского алфавита, была использована вторая часть из 256 комбинаций, числа от 128 до 256. Эта часть получила название расширенной таблицы ASCII. Она может содержать в себе символы того или иного национального алфавита. При этом если первая часть таблицы ASCII сформирована один раз и не меняется, то вторая ее часть изменяется в зависимости от того, в какой операционной системе вы работаете. Буквы алфавита остаются теми же самыми, а связанные с ними числа меняются. Так, только для русского языка появились кодировки CP-866 (MS-DOS), CP-1251 (Windows), KOI8-R (UNIX и Linux). Именно наличие нескольких кодовых таблиц для одного и того же языка является причиной появления на интернет-страницах потоков странных иероглифов вместо обычного текста: программа просмотра Интернета не всегда способна определить, какую кодовую таблицу выбрать.

Даже если отвлечься от проблем с путаницей между разными кодовыми таблицами одного и того же языка, кодирование многоязыковых текстов наталкивается на еще одно препятствие: что делать, если в одном тексте встречаются фрагменты, написанные на разных языках? Что делать, если текст необходимо совместить с математическими или химическими формулами? Для решения этой проблемы способ кодирования символов еще раз изменили – один символ стали кодировать не одним, а двумя байтами данных. Так появился способ кодирования UNICODE. Теперь в одном байте можно было хранить код символа, а во втором указывать, из какой кодовой таблицы этот символ извлекать.

 

Рис. 3.1. Модифицированная альтернативная  таблица ASCII

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