Почему русские кодировки говорят на разных языках?
Почему русские кодировки говорят на разных языках?
Как только обычный человек выходит за пределы собственного персонального компьютера на просторы мирового кибернетического пространства, он тут же обнаруживает, что русский язык как-то и не русский вовсе. Одно слово - кириллица.
Честно говоря, современный персональный компьютер очень похож на жуткого вида сборище пристроек, дополнительных помещений и, вообще, всяких времянок к некогда весьма приличному зданию. Когда-то компьютеры были только одной системы, IBM. И общались с миром эти компьютеры исключительно на английском языке. Когда придумывался принцип кодировки обычного алфавита, естественно английского, то отводимые под него двести пятьдесят шесть символов казались не только достаточными, но еще и с солидным запасом. Даже если считать с прописными, служебными и специальными. Вспомните, в свое время один мегабайт оперативной памяти считался бесконечным, как космос. Вообще, эти американцы отродясь считали, что весь мир заканчивается точно на границах Соединенных Штатов Америки.
Тем не менее, к их большому удивлению, IBM 360/370 стали активно продаваться не только в "их" Америке, но и на экспорт. Довольно быстро этой компании стало принадлежать около шестидесяти процентов мирового рынка. Но ибээмовские шкафы продолжали говорить только на английском, а программисты IBM даже не пытались заняться придумыванием универсальной международной кодировки, пригодной для применения в разных странах, где применялась ибээмовская техника.
Оставшись с проблемой один на один, пользователи, особенно в СССР (кто уже успел забыть, напоминаю, дело было во времена железного занавеса, т.е. полной изоляции СССР от всего мира), были вынуждены искать выход самостоятельно. Свою лепту в путаницу кодировок внесла и молодая тогда Microsoft Corporatoin. Стандарт ASCII, широко распространенный лет тридцать назад, показался Биллу Гейтсу совершенно неудобным. Большую часть специальных символов можно было просто нарисовать в графическом редакторе, с другой стороны - приличное количество привычных ныне значков, например "копирайт", в ASCII отсутствовали. Microsoft Corporatoin предложила собственный стандарт, названный ANSI. Как и следовало ожидать, оба стандарта сильно разнились между собой, правда, это касалось в основном дополнительных символов, а не базового набора английского алфавита. Естественно, в ANSI со временем нашли место и символы кириллицы. Однако русский набор ANSI уже значительно отличался от кодировки ASCII.
Тот, кто сейчас активно работает в Интернет, пожинает плоды тех дней. Пользователи Windows говорят по-русски, пользуясь стандартом RFC1489 или СР-1251, как она именуется более часто. Советский Союз отметился в вычислительной технике принятием ГОСТ 19768-74, в котором оговаривался Код Обмена Информацией номер восемь (КОИ 8). Восьмерка означала, что для кодировки используются восемь разрядов. Фидошники, а также пользователи OS/2 и некоторые другие, применяют стандарт CP-866, отличающийся от всех остальных. Ну и последняя, использующаяся в основном в операционной системе UNIX, кодировка называется ISO. Она предложена International Standards Organisation, претендующей на право определять всякие правила для всех стран мира.
Естественно, подобное положение дел более существовать не может. С тех пор, как компьютер превратился из рабочего инструмента в средство глобального общения, возникла насущная потребность создать единую международную кодировку, приемлемую для любой страны мира. Естественно, двести пятьдесят шесть символов (два в восьмой степени) для этого чрезвычайно мало, поэтому была предложена универсальная кодировка, UNICODE, состоящая из 65 536 символов, или двух байтов. За счет некоторого увеличения объема, занимаемого одним символом (два байта против восьми бит), стало возможным стандартизировать не только все известные национальные шрифты, служебные и специальные символы, но также еще и иероглифы ряда восточно-азиатских языков. Это позволяет надеяться, что UNICODE имеет все шансы в обозримом будущем вытеснить другие кодировки по той простой причине, что он значительно облегчает создание интернациональных многоязычных ресурсов в Интернет и исключает необходимость содержать на клиентской машине сразу несколько вариантов шрифтов для всех существующих сегодня кодировок.
Оптимизм внушает еще и то, что стандарт UNICODE в настоящее время активно продвигает Microsoft Corporatoin, которая является неоспоримым лидером на рынке операционных систем и прикладных пакетов для офисного применения. Так, например, Microsoft Office 97 уже по умолчанию базируется на UNICODE.
Дополнительно о существующих в настоящее время кодировках и перспективах их дальнейшего развития можно прочитать в статье "Кодировки" (www.hardnsoft.ru/ARTICLES/1997_10/IE40/ie40.html).
Александр Запольскис
E-mail: leshy@nestor.minsk.by - титульная страница
Как только обычный человек выходит за пределы собственного персонального компьютера на просторы мирового кибернетического пространства, он тут же обнаруживает, что русский язык как-то и не русский вовсе. Одно слово - кириллица.
Честно говоря, современный персональный компьютер очень похож на жуткого вида сборище пристроек, дополнительных помещений и, вообще, всяких времянок к некогда весьма приличному зданию. Когда-то компьютеры были только одной системы, IBM. И общались с миром эти компьютеры исключительно на английском языке. Когда придумывался принцип кодировки обычного алфавита, естественно английского, то отводимые под него двести пятьдесят шесть символов казались не только достаточными, но еще и с солидным запасом. Даже если считать с прописными, служебными и специальными. Вспомните, в свое время один мегабайт оперативной памяти считался бесконечным, как космос. Вообще, эти американцы отродясь считали, что весь мир заканчивается точно на границах Соединенных Штатов Америки.
Тем не менее, к их большому удивлению, IBM 360/370 стали активно продаваться не только в "их" Америке, но и на экспорт. Довольно быстро этой компании стало принадлежать около шестидесяти процентов мирового рынка. Но ибээмовские шкафы продолжали говорить только на английском, а программисты IBM даже не пытались заняться придумыванием универсальной международной кодировки, пригодной для применения в разных странах, где применялась ибээмовская техника.
Оставшись с проблемой один на один, пользователи, особенно в СССР (кто уже успел забыть, напоминаю, дело было во времена железного занавеса, т.е. полной изоляции СССР от всего мира), были вынуждены искать выход самостоятельно. Свою лепту в путаницу кодировок внесла и молодая тогда Microsoft Corporatoin. Стандарт ASCII, широко распространенный лет тридцать назад, показался Биллу Гейтсу совершенно неудобным. Большую часть специальных символов можно было просто нарисовать в графическом редакторе, с другой стороны - приличное количество привычных ныне значков, например "копирайт", в ASCII отсутствовали. Microsoft Corporatoin предложила собственный стандарт, названный ANSI. Как и следовало ожидать, оба стандарта сильно разнились между собой, правда, это касалось в основном дополнительных символов, а не базового набора английского алфавита. Естественно, в ANSI со временем нашли место и символы кириллицы. Однако русский набор ANSI уже значительно отличался от кодировки ASCII.
Тот, кто сейчас активно работает в Интернет, пожинает плоды тех дней. Пользователи Windows говорят по-русски, пользуясь стандартом RFC1489 или СР-1251, как она именуется более часто. Советский Союз отметился в вычислительной технике принятием ГОСТ 19768-74, в котором оговаривался Код Обмена Информацией номер восемь (КОИ 8). Восьмерка означала, что для кодировки используются восемь разрядов. Фидошники, а также пользователи OS/2 и некоторые другие, применяют стандарт CP-866, отличающийся от всех остальных. Ну и последняя, использующаяся в основном в операционной системе UNIX, кодировка называется ISO. Она предложена International Standards Organisation, претендующей на право определять всякие правила для всех стран мира.
Естественно, подобное положение дел более существовать не может. С тех пор, как компьютер превратился из рабочего инструмента в средство глобального общения, возникла насущная потребность создать единую международную кодировку, приемлемую для любой страны мира. Естественно, двести пятьдесят шесть символов (два в восьмой степени) для этого чрезвычайно мало, поэтому была предложена универсальная кодировка, UNICODE, состоящая из 65 536 символов, или двух байтов. За счет некоторого увеличения объема, занимаемого одним символом (два байта против восьми бит), стало возможным стандартизировать не только все известные национальные шрифты, служебные и специальные символы, но также еще и иероглифы ряда восточно-азиатских языков. Это позволяет надеяться, что UNICODE имеет все шансы в обозримом будущем вытеснить другие кодировки по той простой причине, что он значительно облегчает создание интернациональных многоязычных ресурсов в Интернет и исключает необходимость содержать на клиентской машине сразу несколько вариантов шрифтов для всех существующих сегодня кодировок.
Оптимизм внушает еще и то, что стандарт UNICODE в настоящее время активно продвигает Microsoft Corporatoin, которая является неоспоримым лидером на рынке операционных систем и прикладных пакетов для офисного применения. Так, например, Microsoft Office 97 уже по умолчанию базируется на UNICODE.
Дополнительно о существующих в настоящее время кодировках и перспективах их дальнейшего развития можно прочитать в статье "Кодировки" (www.hardnsoft.ru/ARTICLES/1997_10/IE40/ie40.html).
Александр Запольскис
E-mail: leshy@nestor.minsk.by - титульная страница
Компьютерная газета. Статья была опубликована в номере 19 за 1998 год в рубрике soft :: текст