Если же ваш почтовый сервер не умеет перенаправлять письма на другой адрес, то заведите себе бесплатный почтовый ящик, например, на 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. Визуальное отображение кодовой страницы — программа "Таблица символов"
28
Это понятие следует отличать от понятия локализации программы, при котором осуществляется перевод всех ее текстовых выводов: меню, информации в окнах, сообщений пользователю.