Вторник, 23.04.2024, 20:36
Приветствую Вас Гость | RSS
[SEARCH_TITLE]
[SEARCH_FORM]
Главная | Регистрация | Вход
Веб-дизайн, программирование, веб-графика
Форма входа
Меню сайта

Поиск

Рейтинг@Mail.ru

К сожалению, веб-дизайн еще

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

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

 

14

HTML отличается от некорректного, но и на множе­стве наспех написанных программ, генерирующих зачастую не лезущий ни в какие рамки программный или разме­точный код. В этих условиях технологическая грамотность веб-дизайнера приобретает особое значение. Бурно развивающиеся в последние годы технологии, калей­доскопически сменяющиеся версии программ, напряженная борьба компаний, идей и подходов — все это могло бы дать материал для увлекательного техно-триллера толщиной с хо­роший кирпич, а не для главы в несколько десятков страниц. Я написал лишь небольшое введение, которое позволит вам свободнее ориентироваться в официальных спецификаци­ях, стандартах и других справочных материалах, без чтения которых вам все равно не обойтись.

Кодировки текста

Отказавшись от пре­тендующего на всеохватность изложения «от теории к прак­тике» и «от простого к сложному», я сразу же попал во власть встречных течений, то и дело отбрасывавших меня назад: «Об этом писать нельзя, пока не объяснено то, а перед этим обязательно нужно рассказать и о том».

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

В общем случае кодировка (encoding), или кодовая табли­ца, — это однозначное соответствие между подмножеством целых чисел (как правило, идущих подряд) и некоторым набором символов. Ключевым здесь является понятие сим­вола. Символ может быть буквой (а может и не быть), может соответствовать звуку речи (а может и не соответствовать) и может быть представлен графическим знаком (но может обходиться и без какого бы то ни было видимого образа). Символ — это атом смысла, мельчайшая неделимая частица информации. Так, латинское «А» и кириллическое «А» —

15

это разные символы, потому что они употребляются в разных контекстах и несут в себе разную информацию.

Определяющим для любой кодировки является количе­ство охватываемых ею кодов и, соответственно, символов. Поскольку тексты в компьютере хранятся в виде последо­вательности байтов, большинство кодировок естественным образом распадаются на однобайтовые, или восьмибитные, способные закодировать не больше 256 символов, и двух­байтовые, или шестнадцатибитные, чья емкость может достигать 65636 знакомест.

ASCII

Однако прежде чем переходить к восьмибитным коди­ровкам, нужно сказать несколько слов о кодировке под названием ASCII (American Standard Code for Information Interchange) — кодировке также восьмибитной, но охваты­вающей только 128 символов и потому довольствующейся семью значимыми битами (старший, восьмой бит при этом всегда равен нулю). Важность этой кодировки, включающей латинский алфавит, цифры и основные знаки пунктуации, необычайно велика: почти все остальные (большие по раз­меру) кодировки совместимы с ней, т. е. размещают на своих первых 128 знакоместах те же самые символы в том же порядке.

Первые 32 позиции в кодировке ASCII заняты так назы­ваемыми управляющими символами (control characters), пред­назначенными не для передачи собственно текстовой ин­формации, а для управления устройством, читающим (или получающим по линии связи) текстовый файл. Лишь немно­гие из этих символов — возврат каретки, перевод строки, табуляция — до сих пор используются в более-менее об­щепринятых значениях; остальные, давно уже вышедшие из употребления, в былые времена выполняли для «голого» ASCII-текста те же функции, которые сейчас возложены на разнообразные форматы данных и протоколы связи.

Однобайтовые кодировки

Задействовав в кодировке ASCII

старший бит, мы получаем дополнительные 128 знако­мест, которых должно хватить для кодирования, например, кириллического алфавита или набора каких-нибудь специ­альных символов. К сожалению, восьмибитных кодировок на свете существует гораздо больше, чем наборов символов, которые они кодируют. Очень характерна в этой связи ситуация с русским языком — анархия компьютеризации в нашей стране, наложившаяся на всемирную анархию

16

конкурирующих компьютерных платформ и операционных систем, привела к тому, что для кириллицы существует сразу несколько однобайтовых кодовых таблиц. Хронологически одним из первых стандартов кодирования русских букв на компьютерах был КОИ8 («Код обме­на информацией, 8-битный»). Эта кодировка применялась еще в доисторические советские времена на компьюте­рах ЕС ЭВМ, и когда в середине 80-х появились первые русифицированные версии операционной системы UNIX, они унаследовали эту кодировку у своих «предков». Сеть Релком, открывшая в начале 90-х эпоху российского Интер­нета, в те годы состояла в основном из компьютеров с UNIX и потому также приняла кодировку КОИ8 в качестве стан­дартной. В результате КОИ8 является сейчас единственно допустимой кодировкой в русскоязычной электронной по­чте и телеконференциях Usenet и одной из кодировок, которые обязательно должна поддерживать любая русская веб-страница.

Вторая по значению в русском Интернете (и, безусловно, первая по употребимости на персональных компьютерах) кодировка — это стандартная кириллическая кодировка Microsoft Windows, обозначаемая аббревиатурой СР1251 («СР» расшифровывается как «Code Page», «кодовая стра­ница»). Все Windows-приложения, работающие с русским языком, обязаны понимать эту кодировку без перевода. Благодаря распространенности Windows кодировка СР1251, вместе с КОИ8, входит в абсолютный минимум коди­ровок, которые приходится поддерживать русскоязычным сайтам.

Реликтом эпохи MS DOS остается так называемая «альтер­нативная» кодировка, в терминологии фирмы Microsoft — кодировка СР866. И хотя в Интернете компьютеры с MS DOS — большая редкость, кодировка эта сохра­няет определенный авторитет благодаря тому, что она принята в качестве стандартной в операционной системе OS/2 и в некоммерческой сети Фидо. Поэтому изредка можно встретить сайты, предлагающие посетителям в ка­честве одного из вариантов и альтернативную кодировку MS DOS.

Однако первой фирмой, выпустившей русифицированную операционную систему, была все-таки не Microsoft, a Apple. И разумеется, русифицированные Макинтоши, появивши­еся в конце 80-х, имели свою собственную, ни с кем не

 

совместимую кодировку кириллицы. Хотя в нашей стране компьютеры этой марки так и не приобрели популярности, сравнимой с их популярностью на Западе, в Сети можно встретить и кириллическую кодировку для Макинтошей. Так и срослось. Зачем, однако, вообще понадобилось создавать разные кодировки для одного и того же алфавита? Помимо соображений кон­куренции, вообще способствующих появлению несовместимых решений, изобретателями кодировок в первую очередь двигал чисто практический расчет. Как правило, еще до того, как операционная система русифици­руется, за символами из верхней половины таблицы ASCII (с кодами от I28 до 255) уже закреплено то или иное употребление, и чтобы разместить в этом же диапазоне кириллический алфавит, приходится чем-то жертво­вать. Разумеется, наименее ценные кодовые позиции, замещение которых нанесет меньше всего ущерба функциональности системы, в каждом слу­чае свои, и чаше всего необходимые для полного набора кириллицы 66 знакомест (включая букву «ё», которая традиционно выносится за пределы основного алфавита) не удается расположить подряд. Этим и объясняет­ся тот факт, что ни в одной из кодировок, кроме ISO 8859-5 и Unicode, русские буквы не идут сплошным блоком. В некоторых кодировках допус­каются даже отклонения от алфавитного порядка — в частности, в КОИ8 расположение русских букв определяется, как это ни смешно, алфавитом тех латинских букв, которые на клавиатурах советского производства рас­полагались на одних клавишах с соответствующими буквами кириллицы: например, буква «Ю» стояла на одной клавише с символом «@», идущим в ASCII перед латинской «А», и потому стала в КОИ8 «первой буквой алфавита».

Ксения Собчак официальный сайт
Copyright MyCorp © 2024