HTML в InternetРефераты >> Программирование и компьютеры >> HTML в Internet
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. По многим причинам этот подход довольно часто не срабатывает. В таком случае авторы документов, размещенных на сервере, часто прибегают к более уни-версальному приему, предлагая читателю из нескольких гиперссылок выбрать ту, которая указывает на нужный документ в желаемой кодировке.
Некоторые программы просмотра умеют сами подстраиваться под кодировку доку-мента, высылаемого сервером, если кодировка правильно указана в заголовке ответа WWW-сервера в специальном поле charset, предусмотренном протоколом HTTP 1.0. К со-жалению, многие серверы не настроены так, чтобы добавлять это поле автоматически.
2.7. Области использования WWW
Наука
Как отмечалось во введении, WWW была создана в одном из ведущих научно-иссле-довательских учреждений - ЦЕРНе (CERN) - именно с целью распространения научной информации. В настоящее время в WWW можно найти большое количество публикаций в самых разных областях науки и техники.
В скором времени можно ожидать лавинообразного увеличения числа научных пуб-ликаций в WWW и рождения новых специализированных научных электронных журна-лов, не уступающих по качеству известным печатным изданиям. Причем, сам гипертекс-товый характер WWW с возможностью немедленного доступа к документам по гиперс-сылкам как нельзя лучше соответствует характеру научной информации.
Опыт показывает, что возможности WWW как источника собственно научной ин-формации, то есть, результатов конкретных исследований или справочных данных, пока еще более чем скромны. Но вот как средство налаживания контактов и поиска информа-ции о том, «где что делается и где что публикуется», World Wide Web уже не знает себе равных.