Программы просмотра способны правильно отобразить содержимое файлов самых различных форматов, начиная от простейших текстовых и заканчивая графическими, зву-ковыми и другими специализированными форматами; при этом, как мы уже знаем, «род-ным» форматом для WWW является HyperText Markup Language (HTML). А что же проис-ходит, когда программа просмотра «не понимает» формата загружаемого файла? В первый раз столкнувшись с этой нередкой ситуацией, можно и растеряться, поэтому мы кратко опишем два возможных варианта развития событий:
1. Программа просмотра знает, какая из других программ, установленных на вашем компьютере, понимает формат данного файла. - В этом случае программа просмотра запустит требуемую программу-помощника или программу-приставку и передаст ей полу-ченный файл для обработки. Как правило, программа просмотра, прежде чем запустить программу-помощника, спрашивает вашего разрешения. Это делается по той причине, что даже самый невинный на первый взгляд файл может быть потенциально опасен для ваше-го компьютера. В частности, документы в формате Word for Windows 6.0 могут содержать макрокоманды, способные уничтожать или переписывать файлы на вашем жестком диске!
2. Программа просмотра не знает, у какой программы попросить помощи при интерпретации данного файла. - В этом случае вам будет предложено четыре альтернати-вы:
1) More Info . - дать дополнительную информацию о возникшей ситуации и предложить установить программу-приставку (plug-in), которая понимает данный формат файла,
2) Pick App . - выбрать программу-помощника, уже установленную на вашем компьютере, для обработки данного файла,
3) Save File . - сохранить файл на локальном диске,
4) Cancel - отменить загрузку данного файла. Часто команду Save File . используют для того, чтобы получить программное обеспечение и документацию из коллекций («архивов»).
Проблема русификации
Создатели программного обеспечения для работы в WWW первоначально не были слишком озабочены нуждами людей, желающих публиковать и читать информацию на своих родных языках, не использующих латинский алфавит, в том числе и на русском язы-ке. В последнее время ситуация начинает заметно изменяться к лучшему, но все же прос-мотр и публикация документов на русском языке сопряжена с некоторыми трудностями.
2.6. Коды и символы
Файл, содержащий гипертекстовый WWW-документ, представляет собой текстовый файл. «Внутри» компьютера современной архитектуры и при передаче по сетям каждый символ текста представляется в виде целого числа, которое, в свою очередь, кодируется комбинацией из восьми двоичных разрядов, называемых битами. Такая комбинация из восьми бит, обрабатываемых ЭВМ как одно целое, получила название байт. Каждый бит в байте может иметь ровно два состояния: «включен» и «выключен», или «1» и «0».
Легко убедиться, что существует ровно 256 комбинаций из восьми бит, каждый из которых может быть занят либо нулем, либо единицей. Таким образом получается, что восемью битами (то есть, одним байтом) могут быть представлены числа, или коды, от 0 до 255 (то есть, от 00000000 до 11111111 в двоичной системе счисления). Каждому коду можно поставить в соответствие определенный текстовый символ, например, букву или цифру, или управляющий символ, такой как возврат каретки, переход на новую строку и т. п. Чтобы текст выглядел одинаково на мониторах разных компьютеров, необходим опре-деленный стандарт на соответствие кодов и представляемых ими символов для текстовой информации. Такой стандарт, принятый в настоящее время на подавляющем большинстве компьютерных систем, получил название American Standard Code for Information Interchange (ASCII, произносится как «аски»). Этот стандарт охватывает лишь коды от 0 до 127. В кодовой таблице ASCII не нашлось места для многих часто используемых специальных символов. Также, из буквенных символов там присутствуют только символы английского алфавита. Чтобы закодировать буквы национальных алфавитов, в том числе русского, сох-ранив при этом совместимость с таблицей ASCII, необходимо использовать коды в диапа-зоне от 128 до 255. Вот тут-то и начинаются сложности.
Кодовые таблицы для кодировки букв русского алфавита (кириллицы)
Существует довольно много различных кодовых таблиц, совпадающих в диапазоне кодов от 0 до 127 со стандартом ASCII и использующих диапазон кодов от 128 до 255 для специальных символов и букв русского алфавита. Среди них наиболее распространены следующие четыре:
1. Microsoft Windows Cyrillic code page 1251
Известна также как CP-1251 или Windows-1251. Наиболее широко применяется в «русифицированных» системах Microsoft Windows 3.1, 95 и NT.
2. KOI8-r
Базируется на государственном стандарте Кода Обмена Информацией КОИ8 (ГОСТ 19768-74). Применяется в основном на компьютерах с операционной системой UNIX. Принята за стандарт кодирования русскоязычных текстов при обмене по электронной почте. Большинство WWW-серверов хранят русскоязычные документы в этой кодировке. В настоящее время имеются наборы шрифтов для Microsoft Windows в кодировке KOI8-r. Они были разработаны специально для сетевых программ, работающих под Windows.
3. CP-866 Microsoft/IBM code page 866
Известна также как «альтернативная кодировка ГОСТа» (в некоторых документах ее обозначают Alt-GOST или alt). Применяется в основном на персональных компьютерах IBM PC с операционной системой MS-DOS при работе в текстовом режиме. Программы просмотра под DOS практически не используются (обычно на IBM-совместимых машинах они работают под Microsoft Windows). Однако, мы упоминаем эту кодировку, поскольку текст WWW-документа можно создавать в текстовом редакторе, работающем под DOS.
4. ISO-8859-5
Расположение русских букв в ней практически совпадает с так называемой «основ-ной кодировкой ГОСТа» (иногда можно встретить ее обозначение как Main-GOST). При-меняется редко, хотя и является международным стандартом кодировки русского алфавита, зарегистрированным International Standards Organization (ISO).
Несколько особняком от вышеперечисленных кодировок стоит кодировка Unicode, которая, по замыслу ее разработчиков, входящих в так называемый консорциум Unicode, должна раз и навсегда решить проблему хранения в текстовых файлах символов любой из существующих на Земле систем письменности. К сожалению, пока еще Unicode использу-ется весьма редко.
При переносе файлов с текстами на русском языке с одного компьютера на другой, или даже из одной программы в другую, довольно часто возникает необходимость переко-дировки таких файлов. Для перекодировки файлов используют специальные программы.
Для чтения документов на русском языке вы должны установить в программе просмотра шрифт, использующий одну из кодовых таблиц, содержащих буквы русского алфавита (кириллицы).
Согласование кодировок сервера и программы просмотра
Если попытаться прочитать русскоязычный WWW-документ, закодированный при помощи одной кодовой таблицы, программой просмотра, использующей шрифты, рассчи-танные на другую таблицу, то русский текст будет выглядеть как бессмысленный набор знаков. Например, слово Привет!, высланное сервером в кодировке KOI8-r, при использо-вании программой просмотра шрифта в кодировке Windows-1251 выглядит на экране как рТЙЧЕФ! Как же заставить сервер и программу просмотра настроиться на какую-либо одну кодировку?
Иногда заботу о соответствии кодовых таблиц сервера и программы просмотра берет на себя сервер. При этом он должен определить кодировку, на которую настроена прог-рамма просмотра, и высылать документы именно в этой кодировке. Для автоматического определения используется возможность протокола HTTP 1.0 передавать в заголовке запроса перечисление допустимых форматов документов и наборов символов MIME content-type и charset. По многим причинам этот подход довольно часто не срабатывает. В таком случае авторы документов, размещенных на сервере, часто прибегают к более уни-версальному приему, предлагая читателю из нескольких гиперссылок выбрать ту, которая указывает на нужный документ в желаемой кодировке. )