Код такого символа передавался в программу драйвером клавиатуры, когда был включен специальный режим — "переключена раскладка". В таком режиме при нажатии какой-нибудь клавиши с символом драйвер передавал в программу не код собственно нажатой клавиши, а код, соответствующий в региональной кодовой странице тому символу, который был помещен на этой клавише при «локализации» клавиатуры, то есть гравировке или наклейке на ее кнопки символов неанглийского алфавита.
Иными словами, кодовая страница — это как бы «закон» для программы, работающей с вводом-выводом текстовой информации, регламентирующий, как должно интерпретировать и выводить на экран или печать последовательность бит, являющуюся записью текста, а также как должно воспринимать ввод данных с клавиатуры. В разных странах существуют разные законы, но первые части у всех законов общие, а поэтому одинаковые.
Российская особенность
В большинстве стран была создана одна кодовая страница для своего алфавита. Но в России были некоторые особенности.
Изначальные английские версии поставляемых в Россию программ не могли работать с русским алфавитом (это и ясно — в них же не было русской кодовой страницы). Поэтому была создана русская кодовая страница ISO-8859-5, в которой кодам символов, большим 127, соответствовали русские буквы. Так как их всего 33, а с заглавными — 66, то в кодовой странице осталось место для символов псевдографики. Для того, чтобы с этой кодовой страницей можно было работать, имелось три возможности: писать программы, отображающие символы именно в соответствии с ней; создать операционную систему, которая сама будет «заведовать» вводом и выводом текста в соответствии с нужной кодовой страницей, а программы будут лишь использовать готовый результат; создать специальную программу, которая будет работать вместе с операционной системой и обрабатывать ввод и вывод текстовой информации в соответствии с нужной кодовой страницей. Первая возможность из-за своей сложности использовалась мало, третья подразумевала создание и использование специальных программ — русификаторов, которые долгое время использовались, при использовании второй возможности была необходима русификация или локализация операционной системы — то есть внедрение в нее функций отображения символов в соответствии с заданной кодовой страницей. В настоящее время повсеместно применяются локализованные операционные системы, то есть те, в которых кроме внедрения функций работы с русской кодовой страницей еще и переведен интерфейс.
Вариантов русской кодовой страницы было два. Один, вышеупомянутый — ISO-8859-5. Другой, так называемый «альтернативный», отличался от него другим порядком следования русских букв до строчной «р» и имел ту особенность, что символы псевдографики кодировались в нем теми же кодами, что и в исходной английской таблице символов, а следовательно, при принятом в операционой системе этом варианте кодовой страницы можно было использовать нелокализованные версии западных программ, работающих с псевдографикой. Например, западная программа могла из символов псевдографики изобразить таблицу. Она считывала из файла код символа и отображала на экране соответствующий ему значок. Если в системе была установлена «альтернативная» кодовая страница, то это оказывался именно символ псевдографики и рисунок получался. Если же в системе стояла ISO-8859-5, то рисовалась русская буква, и внешний вид рисунка был весьма своеобразным. Поэтому несмотря на то, что в «альтернативной» кодовой странице русские символы шли не подряд, а с разрывом между строчными буквами «п» и «р», именно она впоследствии получила наибольшее распространение. Кодовая страница ISO-8859-5 применялась при русификации компьютерных систем Sun, поставлявшихся в Россию.
Заслуга внедрения русских кодовых страниц принадлежит российской компании «Диалог» и ее ведущему программисту Петру Квитеку. В 1989 году в этой фирме — партнере Microsoft была локализована MS-DOS 4.1, первой среди всех операционных систем. При ее создании в качестве основной кодовой страницы была взята «альтернативная» кодировка, названная Dos(866), — именно из-за того, что программы, использующие ее, корректно отображали символы псевдографики. Это привело к еще более широкому распространению данной кодовой страницы, так как MS-DOS была основной операционной системой для персональных компьютеров.
При создании локализованной версии операционной системы Windows фирма Microsoft решила изменить ставшую общепринятой русскую кодовую страницу Dos(866). В частности, с появлением графического интерфейса отпала необходимость в использовании символов псевдографики, что позволило сделать порядок символов русского алфавита в кодовой странице в соответствии с алфавитной последовательностью, а также разместить в ней различные специальные символы вроде изображения торговой марки — ™. Появилась кодировка UTF-8, которую создал тот же Петр Квитек. В ней тем символам, что в кодировке Dos(866) соответствовали одни русские буквы, были поставлены в соответствие другие символы. В результате для чтения в Windows русского текста, набранного в Dos, стали требоваться программы-перекодировщики.
Читать дальше