В информатике текстом считают последовательность любых символов. Сейчас компьютеры в основном пользуются алфавитами, содержащими 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 (англ.) -- преобразователь.
Список литературы
Для подготовки данной работы были использованы материалы с сайта http://macedu.narod.ru