Ликбез по кодировке или интересные нюансы о развитии Всемирной паутины. Часть 2.

Ликбез по кодировке или интересные нюансы о развитии Всемирной паутины. Часть 2.

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

Но Глобальная Паутина велика. Она охватывает весь мир. В мире на сегодняшний день около 5-6 тысяч (!) всевозможных языков. Пусть две трети населения планеты разговаривает всего на сорока языках, но и этого немало. Только представьте на миг, что у каждого из этих языков совершенно уникальный набор символов (что такое символ, мы разбирали в предыдущих статьях). Именно из-за различных наборов символов в разных языках довольно часто возникает путаница с кодированием.

Набрали вы текст бабушке в Дублин на английском языке, а компьютер, по неведомым (как сперва может показаться) причинам выдает какую-то китайскую абракадабру. Дело в том, что в данном случае использовалась китайская кодировка, а набор производился кириллицей, вот и произошло неправильное преобразование символов. Возникает вполне закономерная мысль, а нельзя ли разработать какую-нибудь единую для всех типов символов кодировочную матрицу, чтобы избежать постоянной путаницы в преобразовании символов. Да! Она уже существует! Но все по порядку.

В предыдущих статьях была затронута тема однобайтовых и двухбайтовых матриц. Родоначальницей однобайтовых матриц можно смело назвать кодировку ASCII (American Standard Code for Information Interchange) Но это американский стандарт. Что же делать с кириллицей? Известно, что в кодировке ASCII используется только 7 битов, а значение восьмого, старшего бита, всегда соответствует нулю. Напоминаем, что в связи с этим, таблица ASCII способна охватить не 256 символов, что было бы логично, а только 128.

И вот старший бит в кодировке ASCII все же задействован. Теперь можно смело использовать неожиданно образовавшиеся 128 знакомест. Разумеется, их должно хватить для кодирования кириллицы вместе с набором каких-либо специальных, дополнительных символов. Но и тут возникает путаница, особенно характерная для русского языка. Всеобщая бессистемность компьютеризации в странах СНГ наслоилась на неконтролируемую конкуренцию и бессистемность в зарубежных разработках. Изобилие всевозможных компьютерных платформ и операционных систем неизбежно привело к тому, что для кириллицы разрабатывается сразу несколько восьмибитовых кодовых матриц.

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

Знает ли кто из современных web-разработчиков о том, что первой кампанией, которая выпустила русифицированный вариант операционной системы, была вовсе не компания Microsoft? Вы, возможно, удивитесь, но такой компанией была, как ни странно компания Apple, которая обеспечила нашу страну русифицированными Макинтошами.

Макинтоши в нашей стране впервые появились еще в конце 80-х годов, и содержали, в качестве составляющей, свою собственную, более ни с чем не совместимую, кириллическую кодировку.

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

Раз уж мы взялись так глубоко копать исторические моменты эволюционного развития кодировки, коснемся и некоторых ископаемых. В этой связи нельзя не упомянуть о том, что была и альтернативная версия кодировки СР1251, а именно кодировка СР866, о которой сейчас вряд ли кто помнит. Использовалась она в операционной системе OS/2, и принималась ею в качестве основной, стандартной кодировки.

Сегодня в Глобальной Сети компьютеров с ОС MS DOS практически не осталось, но все же, кодировка СР866 по прежнему сохраняет определенный авторитет, поскольку в еще существующей, некоммерческой сети Фидо, хоть и редко, но можно встретить сайты, где пользователям предлагается тот или иной вариант альтернативной кодировки MS DOS.

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

Новички и профессионалы, не пренебрегайте знанием истории своего дела. Повышайте свой профессиональный уровень на страницах сайта Родина Линков.

Автор , на 2 октября 2013 г. в Термины.

Расскажите друзьям:


Комментарии

Комментирование отключено.

Услуги
Спецпредложения

Подписка на блог

без спама, не чаще одного раза в неделю

Кто победит?

SEM

SMM