Компьютер и текст

В информатике текстом считают последовательность любых символов. Сейчас компьютеры в основном пользуются алфавитами содержащими 256 знаков1. Каждому из символов соответствует свой восьмиразрядный двоичный код. Таким образом любой символ текста включая пробелы занимает 8 бит (1 байт) в памяти компьютера. Зная это можно легко оценить объем памяти необходимый для хранения того или иного текстового документа.

Вспомним как связано количество бит в коде с тем сколько требуется различных кодов.

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

Рассмотрим пример. Машинописная страница стандартного формата (А4) содержит около 55 строк. На каждой строке помещается в среднем 60 символов2. Подсчитаем количество текстовой информации на такой странице. Каждый символ -- 1 байт информации а всего символов -- 60*55=3300. Значит на странице 3300 байт (около 3 Кбайт). Как связаны двоичные коды и соответствующие им символы? Это определяется таблицей кодировки. Все используемые на персональных компьютерах таблицы3 основаны на американском стандарте ASCII4. Он определяет первые 128 кодов: для латинских букв цифр основных знаков препинания и математических операций. Остальные 128 кодов используются для специальных символов и букв национальных алфавитов (в том числе русского). И поскольку общепринятого стандарта для этого не было возникло много различных кодировок в том числе несколько -- для кириллицы5. Именно поэтому получив от кого-нибудь текст и попытавшись прочесть его на своем компьютере мы зачастую видим на экране набор непонятных "закорючек".

код CP866 CP1251 KOI-8R Mac
01011010 Z Z Z Z
10001111 П П
11111101 $ э Щ э

В такой ситуации на помощь приходят программы-конверторы6. Они заменяют двоичный код каждого символа на код которым такой символ представляется в другой кодировке. Это соответствие определяется таблицей перекодировки. Обычно пользователь должен указать из какой кодировки в какую идет преобразование однако появились и программы умеющие автоматически определять кодировку исходного текста.

Стремление упростить работу с различными текстами (сперва текстами программ затем служебными документами газетами журналами книгами и т.д.) привело к созданию множества программ специально ориентированных на это -- текстовых редакторов (или текстовых процессоров).

Какими же данными оперируют эти программы? Очевидно что наименьшим объектом будет символ. Однако можно работать не только с отдельными символами но и со словами строками абзацами произвольными фрагментами и текстом в целом. Некоторые действия можно выполнить с любой из этих структур другие -- только с какй-то определенной. Обрабатываемый текст представляется как бы в виде рулона "бумаги" который можно прокручивать на экране вперед и назад. Большинство современных программ позволяет одновременно работать с несколькими текстами каждый из которых выводится в отдельное окно. Кроме основных "листов" текстовый процессор как и другие программы использует "конверт" (или "карман") в котором можно временно хранить фрагмент текста при его копировании или перемещении.

Текстовый процессор -- не просто заменитель пишущей машинки а универсальное средство для работы с текстами. Он предоставляет очень широкие возможности манипулирования текстовыми документами. Кроме таких очевидных операций как набор текста удаление копирование и перемещение его фрагментов а также сохранение на диск и печать имеется возможность изменять шрифт его начертание цвет и размер. Текстовый процессор может автоматически форматировать текст (включая установку абзацного отступа и выравнивание). Можно сразу во всем тексте заменить одно заданное слово на другое. Например поменять "ЭВМ" на "компьютер". Многие редакторы умеют проверять орфографию: компьютер ищет каждое слово в своем словаре и если не находит сообщает об этом пользователю предлагая возможные варианты исправления.

Примечания

Новый стандарт Unicode на который осуществляется постепенный переход позволяет использовать 216=65536 (а в последней версии -- 232) символов. Текст в такой кодировке будет занимать существенно (в среднем -- вдвое) больше памяти. [Примечание к примечанию: реальные системы используют не непосредственно Unicode (UTF-32) а представления UTF-8 и UTF-16. В первом из них символ может занимать от 1 до 6 байт во втором -- 2 или 4 байта]

Это -- примерные значения для русской пишущей машинки. В англоязычных странах обычно используют более мелкий шрифт.

Речь идет о "стандартных" шрифтах. Кроме них существуют также шрифты содержащие (вместо букв и цифр) специальные например декоративные символы.

American Standard Code for Information Interchange -- Американскийстандартныйкодобменаинформацией.

В России широко используются в настоящее время четыре кодировки:

CP866 ("DOS-альтернативная". Для PC-совместимых компьютеров под MS-DOS и OS/2 а также в любительской компьютерной сети Fido);

CP1251 (Для PC-совместимых компьютеров под Windows а также на большинстве сайтов WWW);

KOI-8R (Компьютеры под UNIX электронная почта и конференции Internet);

Mac-Cyrillic (Макинтош-совместимые компьютеры).

Converter (англ.) -- преобразователь.