Шрифт:
Закладка:
В конце концов все же пришли к разумному компромиссу:
• первые 128 кодов (с 0-го по 127-й) с управляющими символами, некоторыми специальными знаками, цифрами и латинским алфавитом остаются в неприкосновенности;
• коды со 176-го по 223-й сохранены за символами псевдографики;
• остальные же коды отданы на откуп потребителям.
У нас наибольшее распространение получила альтернативная ASCII-кодировка, построенная именно по такому принципу: в оставшихся свободными кодах располагаются буквы русского (или другого национального) алфавита. Тем самым обеспечивалась преемственность программного обеспечения, разработанного в других странах, — здесь мы были не "впереди планеты всей..
В альтернативной ASCII-кодировке:
прописные русские буквы:
• имеют номера со 128 по 159 — (с "А" по "Я"),
• буква "Ё" стоит особняком под номером 240.
строчные русские буквы (чтобы сохранить символы псевдографики) разбросаны:
• буквы с "а" по "п" имеют номера со 160 по 175,
• с "р" по "я" занимают позиции с 224 по 239,
• буква "ё" снова на отшибе и имеет номер 241.
Кодовая таблица ANSI
Появление Windows вызвало к жизни еще одну систему кодирования символов — ANSI. Это также аббревиатура английской фразы American National Standard Institute (Американский национальный институт стандартов). Кстати, первоначальное название этой кодировки было — OEM.
Система кодирования ANSI стала преемником формата ASCII, сохранив первые 128 символов на своих привычных местах. Все остальные коды также были отданы национальным алфавитам, причем, символы псевдографики из таблицы были изъяты. Варианты национальных кодовых таблиц получили название кодовых страниц с соответствующим номером. Так, например, кодовая страница с кириллицей, используемая в Windows, имеет номер 1251.
На кодовой странице номер 1251 русские буквы (кириллица) размещаются следующим образом:
• Прописные буквы с "А" по "Я" (кроме "Ё") занимают места со 192 по 223.
• Строчные буквы с "а" по "я" (также кроме "ё") расположены с 224 по 255.
• Для букв "Ё" и "ё" отведены коды 168 и 184.
Ввод символов с помощью клавиши Alt
При работе в DOS все ASCII-коды, начиная с ASCII 32, могут быть выведены на экран с помощью клавиши Alt. Если нажать и, удерживая нажатой клавишу Alt набрать на дополнительной (малой цифровой) клавиатуре необходимый ASCII-код, то после отпускания Alt соответствующий символ появится на экране в том месте, где перед этим находился текстовый курсор.
При работе в Windows (Здесь речь уже идет об ANSI-кодах) для ввода символов Alt с помощью клавиши Alt нужно поступать точно так же, как в DOS, но перед со ответствующим ANSI-кодом символа сначала надо набрать 0 (ноль) и только потом собственно код. Причем, малая цифровая клавиатура должна быть обязательно переключена для ввода цифр (режим NumLock должен быть включен). Например, цифру 9, стоящую на 57-ом месте в таблице кодов, можно ввести с помощью клавиши Alt набрав код 057.
Краткая информация о других системах кодирования
Системы кодирования текстовых данных были разработаны и в других странах. Так, например, в СССР в этой области действовала система кодирования КОИ-7 (код обмена информацией, семизначный). Однако поддержка производителей оборудования и программ вывела американский код ASCII на уровень международного стандарта, и национальным системам кодирования пришлось "отступить" во вторую, расширенную часть системы кодирования, определяющую значения кодов со 128 до 255. Отсутствие единого стандарта в этой области привело к множественности одновременно действующих кодировок. Только в России можно указать три действующих стандарта кодировки и еще два устаревших.
Так, например, кодировка символов русского языка, известная как кодировка Windows-1251, была введена "извне" — компанией Microsoft, но учитывая широкое распространение операционных систем и других продуктов этой компании в России она нашла широкое распространение в России. Эта кодировка используется на большинстве локальных компьютеров, работающих на платформе Windows.
Другая распространенная кодировка носит название КОИ-8 (код обмена информацией, восьмизначный) — ее происхождение относится ко времени действий Совета Экономической Взаимопомощи государств Восточной Европы. Сегодня кодировка КОИ-8 имеет широкое распространение в компьютерных сетях на территории России и в российском секторе Интернета.
Международный стандарт, в котором предусмотрена кодировка символов русского алфавита, носит название ISO (International Standard Organization — Международный институт стандартизации). На практике данная кодировка используется редко.
На компьютерах, работающих под операционной системой MS-DOS, могут действовать еще две кодировки (кодировка ГОСТ и кодировка ГОСТ альтернативная). Первая из них считалась устаревшей даже в первые годы появления персональной вычислительной техники, но вторая используется и по сей день.
В связи с изобилием систем кодировки текстовых данных, действующих в России возникает задача межсистемного преобразования данных — это одна из распространенных задач информатики.
Подводя некоторый итог, можно сказать, что текстовый файл — это файл, в котором каждый байт интерпретируется как изображаемый символ в некоторой системе кодировки. Кроме кодов изображаемых символов, текстовые файлы включают также ряд управляющих кодов, например, код возврата каретки, перевода строки, конца файла.
Универсальная система кодирования текстовых данных
Если проанализировать организационные трудности, связанные с созданием единой системы кодирования текстовых данных, то можно прийти к выводу, что они вызваны ограниченным набором кодов (256). В то время, очевидно, что если, например, кодировать символы не восьмиразрядными двоичными числами, а числами с большим количеством разрядов, то и диапазон возможных значений кодов станет намного больше. Такая система, основанная на 16-разрядном кодировании символов, получила название универсальной Unicode. Шестнадцать разрядов позволяют обеспечить уникальные коды для 65536 различных символов — этого поля достаточно для размещения в одной таблице символов большинства языков планеты.
Несмотря на тривиальную очевидность такого подхода, простой механический переход на данную систему долгое время сдерживался из-за недостаточных ресурсов средств вычислительной техники (в системе кодирования UNICODE все тестовые документы автоматически становятся вдвое длиннее). Во второй половине 90-х годов технические средства достигли необходимого уровня обеспеченности ресурсами, и сегодня наблюдается постепенный переход документов и программных средств на универсальную систему кодирования.
Кодировка Unicode
В системе Unicode (другое название ISO — International Standard Organization) для представления любого символа используется уже не один, а два байта. Поскольку в этом случае число возможных символов равно 216 или 65536, то могут удовлетворяться практически любые потребности всех национальных языков. В настоящее время система Unicode стала "de facto" мировым стандартом. Тем не менее, вряд ли на этом все и остановится. Несмотря на огромное количество возможных кодов (символов), система Unicode все же не способна удовлетворить всем типографским требованиям. Так что, процесс пошел, но "еще не вечер…"
ASCII-кодировка, однако, не умерла. Она осталась как базовый формат для представления текстовой информации. Тексты, созданные в этом формате: