Информатика и информационные технологии

© М.Е. Крекин, 1999, 2002

Глава 5
Компьютер и текст

В этой главе вы узнаете:
  • как в компьютере кодируется текст, и как определить необходимый для хранения документа объем памяти;
  • почему иногда вместо текста мы видим на экране непонятные символы, и что такое программа-конвертор, а также
  • что умеет текстовый процессор.

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

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

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

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

кодCP866CP1251KOI-8RMac
01011010ZZZZ
10001111ПП
11111101$эЩэ

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

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

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

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

Контрольные вопросы

  1. Как связано количество бит в коде с числом разных состояний, которые нужно кодировать? Сколько бит памяти занимает 1 символ текста? Почему?
  2. Что такое таблица кодировки? Как прочесть текст, если в нем использована не такая, как в вашем компьютере, кодировка?
  3. Расскажи о назначении текстового процессора и предоставляемых им пользователю возможностях.

Примечания

  1. Новый стандарт Unicode, на который осуществляется постепенный переход, позволяет использовать 216=65536 (а в последней версии -- 232) символов. Текст в такой кодировке будет занимать существенно (в среднем -- вдвое) больше памяти. [Примечание к примечанию: реальные системы используют не непосредственно Unicode (UTF-32), а представления UTF-8 и UTF-16. В первом из них символ может занимать от 1 до 6 байт, во втором -- 2 или 4 байта]
  2. Это -- примерные значения для русской пишущей машинки. В англоязычных странах обычно используют более мелкий шрифт.
  3. Речь идет о "стандартных" шрифтах. Кроме них существуют также шрифты, содержащие (вместо букв и цифр) специальные, например декоративные, символы.
  4. American Standard Code for Information Interchange -- Американский стандартный код обмена информацией.
  5. В России широко используются в настоящее время четыре кодировки:
    • CP866 ("DOS-альтернативная". Для PC-совместимых компьютеров под MS-DOS и OS/2, а также в любительской компьютерной сети Fido);
    • CP1251 (Для PC-совместимых компьютеров под Windows, а также на большинстве сайтов WWW);
    • KOI-8R (Компьютеры под UNIX, электронная почта и конференции Internet);
    • Mac-Cyrillic (Макинтош-совместимые компьютеры).
  6. Converter (англ.) -- преобразователь.

[Предыдущая страница][Содержание][Следующая страница]
[Титульная страница][Новости][Макинтош][Информатика и ИТ][Об авторе]
Hosted by uCoz