Представление текстовой информации в компьютере.

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

При кодировании информации ставятся следующие цели:

1) удобство физической реализации;

2) удобство восприятия;

3) высокая скорость передачи и обработки;

4) экономичность, т.е. уменьшение избыточности сообщения;

5) надежность, т.е. защита от случайных искажений;

6) сохранность, т.е. защита от нежелательного доступа к информации.

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

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

В персональных компьютерах, для представления информации в памяти используется двоичное кодирование. Это объясняется тем, что электронные элементы, из которых строится оперативная память, могут находиться только в одном из двух устойчивых состояний, которые можно интерпретировать как 0 или 1. Количество информации, которое может помещаться в один элемент памяти, называется битом.

Алфавит, состоящий из двух символов, является минимальным, поэтому при двоичном кодировании алфавита, состоящего из большего числа букв, каждой букве ставится в соответствие последовательность из нескольких двоичных знаков. Если разрядность двоичного кода обозначить через n, то полное число кодовых комбинаций такого кода равно 2n. Для представления в персональном компьютере символьной информации чаще всего используются коды длиной 8 бит (8 бит = 1 байт), полное число кодовых комбинаций в этом случае 28 = 256.

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

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

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

Для персональных компьютеров типа IBM PC международным стандартом стала таблица кодировки под названием ASCII (American Standart Code for Information Interchange) — Американский стандартный код для информационного обмена.

Так как в разных странах используется разный алфавит, то, чтобы не возникало путаницы, таблицу кодов разделили пополам. Первая половина таблицы, то есть символы с номерами от нуля (двоичный код 00000000) до 127 (01111111), должна быть стандартной. Первые 32 кода (с 0 до 31) соответствуют не символам, а операциям (перевод строки, звонок и т.д.). Коды с 32 по 127 являются интернациональными и соответствуют символам латинского алфавита, цифрам, знакам арифметических операций и знакам препинания.

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

За вторую половину кодовой таблицы (коды от 128 (10000000) до 255 (11111111)) стандарт ASCII не отвечает. Разные страны могут создавать здесь свои таблицы. В частности, для представления символов кириллицы используется несколько различных кодовых таблиц (Windows, DOS, ISO, KOI8-U, KOI8-R), поэтому тексты, созданные в одной кодировке, могут неправильно отображаться в другой и, например, при работе в Internet могут возникать ситуации, когда вместо текста отображается набор произвольных символов, не обязательно кириллицы. В этом случае (а возможности обычно имеются) необходимо перейти к кодировке, где текст отображается адекватно.

В настоящее время используется стандарт 16-разрядного кодирования символов UNICODE, позволяющий закодировать 65536 символов.