Русский Журнал
СегодняОбзорыКолонкиПереводИздательства

Gateway | Невод | Интер(офф)вью | Бессрочная Ссылка | НасНет | ГлобусНет | Интер(акти)вью | Дурацкий Музей | Кафедра | Русская сеть: истории | Конец прекрасной эпохи
/ Net-культура / < Вы здесь
Неполный CHARSET
Дата публикации:  5 Мая 2003

получить по E-mail получить по E-mail
версия для печати версия для печати

После выхода статьи "Полный CHARSET" (никогда не знал, как правильно ссылаться на интернет-публикации с продолжением, потому привожу ссылку на третью часть, так как из нее можно прямо перейти на первую и вторую), я получил довольно много откликов, указывающих на разной степени неточности в освещении этого животрепещущего вопроса. Сразу разберемся с некоторыми мелочами. Так, Владимир Геогджаев приводит правильное объяснение того, почему кодировка КОИ-8 при очистке восьмого бита отображается на противоположный регистр соответствующего английского начертания ("Русский" в "rUSSKIJ"), - не для того, чтобы отличить английский текст от русского, как у меня написано, а потому, что при этом она правильно отображается на таблицу КОИ-7, в которой русские буквы (только заглавные) замещают по мере возможности соответствующие английские. Это легко понять, если взглянуть на соответствующие таблицы. Во-вторых, автор пользуется случаем выразить благодарность Аркадию Белоусову (aka Бильбо Ленивчатый) за указание на письмо Игоря Семенюка об истории возникновения кодировки Win1251. Я встречался с упомянутым в статье Петром Квитеком, а также Антоном Чижовым (автором, в частности, знаменитого драйвера "Beta") и Игорем Семенюком, и они подтвердили факт, упомянутый в том самом письме, - при обсуждении (происходило это около 90-91 года) вариантов для Windows про стандартизированную "основную ГОСТ" даже не вспомнили, хотя сам соответствующий вариант расположения русских букв подряд, начиная с колонки B0h, рассматривался. Семенюк даже признался, что если бы он знал про ISO и ГОСТ, то, конечно, голосовал бы за стандарт. Хотя не факт, что в "мелкомягкой" все это учли, так как никто не знает, оказало ли предложение москвичей вообще какое-либо влияние на окончательный вариант 1251 - вполне возможно, что оказало, так как русские буквы все же расположены именно так, как предлагалось. Квитек, кстати, вспоминал, что при русификации DOS "мелкомягкие" долго не уговаривались на "альтернативную", так как она не была стандартизирована, но аргумент насчет полного краха таблиц в англоязычном тексте, оформленном с помощью символов псевдографики, их все таки склонил в пользу СР866. Очевидно, после этого они там разобрались в ситуации с российскими законами и в случае Windows терять время на изучение стандартов уже не стали.

Антон Чижов и Петр Квитек, фото автораНо главное, что мне хочется исправить, - это жуткая, как оказалось, путаница с ГОСТами и - в меньшей степени - стандартами ISO, которая царит в различных источниках и оттуда невольно перекочевала в мою статью. Прежде всего ГОСТа под номером 19768-87, на который все ссылаются, очевидно, с легкой руки Романа Чиборы (в остальном создавшего прекрасный сайт про кодировки, причем имеется русский перевод вышеупомянутой страницы, посвященной кириллице), вообще не существовало в природе - был ГОСТ 19768-74 (устанавливавший кодировки КОИ-7 и КОИ-8), который впоследствии был заменен на мертворожденный ГОСТ 19768-93, вообще к нам - пользователям ПК - никакого отношения не имеющий, так как устанавливает ни с чем не совпадающие кодовые таблицы для ЕС ЭВМ, выпуск которых почти полностью к моменту создания этого ГОСТа был прекращен. Таким образом, надо понимать, КОИ-8r в настоящее время не описывается никаким ГОСТОм. Что же касается "основной" (стандарт ISO/IEC 8859-5-88) и "альтернативной" (MS DOS, СР866) кодировок ГОСТ, то на текущий момент складывается вот какая картина. ГОСТ Р 34.303-92 устанавливает обе этих кодовых таблицы, причем в основной своей части (касающейся таблицы 8859-5) он является простым переводом стандарта ISO 4873-86. Все упомянутые стандарты в совокупности с ГОСТ 27463-87 (он же ISO 646-83, устанавливавший национальные таблицы 7-битных кодов), ГОСТ 27465-87 (устанавливавший наборы русскоязычных символов) и обширного (и дорогого, надо заметить) ГОСТ 27466-87 (ISO 2022-86, устанавливавшего правила расширения кодовых таблиц) представляют собой довольно стройную систему, являющуюся ни чем иным, как альтернативой Unicode. Принцип - переключение между наборами символов с помощью ESC-последовательностей, которые в этих документах называются "последовательности АР2". Система эта не получила никакого практического применения, видимо, по двум причинам - в силу своей громоздкости и, главное, ограниченности - уже для алфавитов, включающих более, чем 256 символов, она становится настолько сложной, что двухбайтовая Unicode выглядит на ее фоне куда симпатичнее - по крайней мере, в идеале. Впрочем, что такое первый байт в таблицах Unicode, как не тот же самый переключающий символ, только действующий не до его отмены, как АР2-последовательности, подобно shift-символам Брайля, а только на один знак, как изначально было задумано для esc-кодов?

Кодовая таблица 8859-5 в упомянутом ГОСТ Р 34.303-92 носит название КОИ-8 В1 - это чтобы еще больше запутать всех. Последний же раздел этого стандарта (4-й) не переведен с ISO, а является оригинальной нашей разработкой и устанавливает как раз "альтернативную" кодировку, которая там имеется в двух вариантах, различающихся только полнотой представления символов псевдографики и носящих название "наборов однобайтовых символов" КОИ-8 Н1 и КОИ-8 Н2. Цитирую, однако, текст ГОСТа: "4.2. Наборы однобайтовых символов предназначены для применений, использующих единственный набор, включающий в себя 256 однобайтовых символов. Такие наборы предназначены для использования в персональных ЭВМ". Вот так, нас опустили. Оказывается, мы тут все только и занимаемся тем, что используем какие-то примитивные "однобайтовые наборы", в то время, как серьезные дяди в серьезном Госстандарте думают о вечности. Бог их простит...

Резюме такое - ни одна из четырех используемых ныне на практике кириллических кодировок, за исключением уходящей в прошлое вместе с DOS СР866, не отражена в существующих стандартах - по крайней мере отечественных. В ISO стандартизировали Unicode под названием ISO 10646. Буду рад, если кто-нибудь расскажет мне, что собираются предпринять в Госстандарте по этому поводу.

И в заключение, для ясности, - я не упомянул в своей статье про UTF-8. Так вот, под общим названием Unicode Transformation Format скрываются процедуры, позволяющие редуцировать двухбайтовые Unicode-символы до обычных однобайтовых, например, ASCII. Это не еще какие-то таблицы кодов, а всего лишь способы их трансформации друг в друга!


поставить закладкупоставить закладку
написать отзывнаписать отзыв


Предыдущие публикации:
Роман Лейбов, Электрические сны. # 7, предпоследний /29.04/
Keywords: ласковость ментов, порог войны, рекорд, полиметрическая композиция.
Мария Митренина, Особенности провинциального интернета. Часть 1 /29.04/
В российской провинции коммерческие интернет-проекты не работают. Их можно завести разве что как игрушку-приложение к бизнесу в реале или в качестве незатратной рекламы.
Юрий Ревич, Горький юбилей (окончание) /28.04/
БЭСМ даже в 1956 году оставалась лучшей ЭВМ в Европе. Впрочем, почти все, что выходило из стен руководимого С. А. Лебедевым Института точной механики и вычислительной техники было на момент создания лучшим в мире.
Мирослав Немиров, Все о поэзии 135 /25.04/
Ром, карибская водка из сахарного тростника.
Юрий Ревич, Черный и синий /25.04/
Почему дизайнеры не вышли за рамки прямоугольного системного блока, окрашенного в унылый серый цвет? Почему не выпускать компьютеры хотя бы разноцветные, как автомобили? Фирма Acer - единственная из крупных производителей РС, кто экспериментирует с дизайном компьютеров по-настоящему. Кроме разве что Apple.
предыдущая в начало следующая
Юрий Ревич
Юрий
РЕВИЧ
revich@homepc.ru

Поиск
 
 искать:

архив колонки: