Представление текстовой информации в компьютере.
Кодирование информации подразумевает преобразование знаков одной знаковой системы в знаки или группы знаков другой знаковой системы. Обратное преобразование называют декодированием.
При кодировании информации ставятся следующие цели:
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 символов.