Выбрать главу

Если же ваш почтовый сервер не умеет перенаправлять письма на другой адрес, то заведите себе бесплатный почтовый ящик, например, на www.cmail.ru и настройте функцию сбора почты с вашего почтового ящика с оставлением копий сообщений на сервере, а потом уже с этого нового ящика установите перенаправление. Правда, в этом случае вам придется стараться забирать почту лишь сразу после того, как "сборщик почты" сработает, а то некоторые письма в архив не попадут.

• Чтобы переслать по Интернету какой-либо большой файл, не обязательно использовать систему электронной почты. Лучше зарегистрируйте аккаунт на каком-либо из серверов, предоставляющих бесплатное место под сайт и дающих доступ по FTP — например, www.chat.ru, www.fromru.com, А затем помещайте передаваемые файлы на этот аккаунт и отправляйте адресату ссылку на них. Во-первых, загружаться файлы с сервера будут быстрее, чем сообщение электронной почты, так как в последнем случае присоединенные к письму документы увеличиваются в объеме за счет кодирования uuencode (подробнее — см. главу 13). Во-вторых, если у адресата плохая связь с Интернетом, то он сможет использовать программы докачки файлов вроде NetVampire или GetRight. И, в-третьих, если он по каким-то причинам потеряет загруженные файлы, то всегда сможет загрузить их снова, не беспокоя вас необходимостью повторной отправки.

Глава 13

дНАПН ОНФЮКНБЮРЭ, или о проблемах понимания русского языка

Строчки, подобные той, что вас так привлекла в заголовке, наверняка иногда встречались вам в путешествиях по Интернету или при чтении электронной почты. Как вы наверняка знаете, такое возникает из-за неправильно подобранной кодировки для чтения текста, — в Internet Explorer даже есть меню специальное: Вид-Вид кодировки (если использовать пятую версию, а в более старых может быть и в других меню). Вы также наверняка пробовали открывать в программах для Windows файлы с текстом, созданные в старых программах для Dos, например, набранные в Norton Editor, и почти всегда возникало Затруднение с их чтением: текст отображался примерно так, как на рис. 13.1, и что-либо понять было просто невозможно.

Рис. 13.1. Файл, набранный в Norton Editor и открытый в Блокноте

В чем же тут дело? Что такое "кодировка"? Почему их столько много, и все они разные? И, наконец, каким образом можно решить их проблему — не запускать же каждый раз Norton Editor, чтобы прочитать и напечатать свои старые файлы?

Кодовая страница

Как вы наверняка знаете, в компьютерных технологиях для записи текстовой информации используется кодирование символов последовательностями из восьми бит — одного байта[27]. Один байт соответствует одному символу. Иными словами, для записи одной буквы, цифры или значка применяется последовательность из восьми нулей и единиц.

Когда компьютерная программа получает из какого-нибудь источника компьютерные же данные, в которых содержится текст (читает текстовый файл с диска, с CD-ROM'а, получает текст из Интернета), то она выделяет из получаемого массива данных последовательности по восемь бит и воспринимает их как байты. Каждому байту, то есть каждой последовательности из восьми нулей и единиц соответствует определенный символ. Какой же конкретно? А вот это узнается программой из так называемой "таблицы символов", которая знакома абсолютно каждой программе, могущей отображать текст и используется программой для такого отображения.

Таблица символов (еще она называется "кодовой страницей") — это набор данных для перевода последовательностей бит в символы. Она может либо храниться в самой программе, либо в компонентах операционной системы и "поставляться" программе при запросе из нее. Получив последовательность из восьми бит, программа смотрит в таблицу символов и определяет из нее, какому символу эта последовательность бит соответствует. После этого программа использует дальше именно этот символ — например, отображает его на экране, чтобы пользователь мог читать текст.

Нетрудно понять, что таблица символов должна быть строжайшим стандартом — ведь если текст был написан его автором в программе, которая переводит его в последовательность бит в соответствии с одной таблицей символов, а пользователь читает эту последовательность другой программой, которая переводит эту последовательность бит в отображаемые на экране символы в соответствии с данными другой кодовой страницы, то прочитать такой текст сможет только человек, долгие годы прослуживший в шифровальном отделении внешней разведки. И для английского алфавита (латиницы) это действительно так — во всех существующих таблицах символов, использующихся во всех имеющихся компьютерных программах каждая латинская буква кодируется одной и только одной, твердо и строго определенной международными стандартами последовательностью бит — байтом. Такое соответствие последовательностей бит и отображаемых символов разработано почти двадцать лет назад на основе последовательности букв в латинском алфавите.

Каждая последовательность восьми бит имеет также и свое числовое значение — это ведь фактически число в двоичной системе счисления, которое нетрудно перевести в десятичную. Например, 01010101 в двоичной системе счисления — это 85 в десятичной, а в соответствии с международными стандартами эта последовательность бит кодирует символ "U". Число 85 в данном случае называется кодом символа "U". То есть можно сказать, что при отображении текстовых данных программа, отображающая их, каждую последовательности восьми бит воспринимает как число — код символа, смотрит в таблице символов, кодом какого символа это число является и отображает именно этот символ. Таблицу символов можно отобразить визуально — например, в Windows этой цели служит программа "Таблица символов." При таком отображении символы расставляются по возрастанию их кодов.

Но с помощью восьми бит можно закодировать до 256 символов — в самом деле, каждый бит может иметь значение 0 или 1, то есть одно из двух, следовательно, всего различных восьмибитовых последовательностей может быть 2*2*2*2*2*2*2*2 = 28 = 256. Английских букв — 26, их же, но заглавных — столько же, цифры и служебные символы вроде запятой, точки займут еще ну, мест 50, если по максимуму. Поэтому для возможности адаптации операционных систем к различным другим алфавитным системам (то есть, в применении к русскому языку, русификации программ[28]) в качестве строгого международного стандарта было принято строгое соответствие отображаемым символам лишь первых 127 последовательностей восьми бит — то есть первой половины кодовой страницы, а вторую половину отдали "на откуп" производителям регионального программного обеспечения и информационных ресурсов — чтобы они размещали в ней свои алфавиты.

Рис. 13.2. Визуальное отображение кодовой страницы — программа "Таблица символов"

вернуться

27

Так бывает не всегда, но об этом ниже.

вернуться

28

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