"Александр Беликов, Л.Блюмберг "The Linux Cyrillic HOWTO"" - читать интересную книгу автора


Чтобы понимать и печатать символы различных языков, система и
программное обеспечение должны уметь отличить их от других символов. То
есть каждый уникальный символ должен иметь уникальное представление внутри
операционной системы, или внутри специфического пакета программ. Такая
совокупность всех уникальных символов, которые система способна
распознать, называется кодировкой.

Во время создания большинства операционных системе, никто не
позаботился предусмотреть возможность представления информации в
программах на других языках, отличных от английского. Поэтому, наиболее
популярной кодировкой была (и фактически ей и остается) ASCII
(Американский Стандартный Код для Информационного Обмена).
Стандарт ASCII (или ASCII с 7ми битами) включает в себя 128 уникальных
кодов.
Они подразделяются на символы, которые ASCII определяет как,
собственно, печатаемые символы, и на так называемые, символы управления,
которые имели специальные значения в старых протоколах связи. Каждый
элемент набора идентифицирован целочисленным символьным кодом (0-127).
Подмножество печатаемых символов представляют те, которые находят на
клавиатуре пишущей машинки с некоторыми добавлениями. Каждый символ
занимал 7 младших значимых битов байта, тогда как старший разряд
использовался для целей управления (то есть, для управления передачи в
старых пакетах связи).
Концепция ASCII с 7ми битами была расширена до ASCII с 8 битами (или
расширенного ASCII). В этой кодировке, диапазон символов соответствует
кодам от 0 до 255. Младшие биты (0-127) - чистый ASCII, в то время как
старший разряд добавляет еще 127 символов. Так как эта кодировка обратно
совместима с ASCII (символ все еще занимает 8 бит, и коды полностью
соответствуют старому ASCII), эта кодировка стал широко использоваться.
Стандарт ASCII с 8 битами не определяет содержание верхней половины
таблицы кодировки. Поэтом МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ
(ISO) взяла ответственность по определению семейства стандартов, известных
как ISO 8859-X семейство. Это семейство есть совокупность 8ми битных
кодировок, где младшая половина каждой кодировки (символы с кодами 0-127)
соответствует ASCII, а старшая половина определяет символы для различных
языков. Например, следующие кодовые страницы определены для:

8859-0 - Новый европейский стандарт (так называемый Latin 0)

8859-1 - Европа, Латинская Америка (также известный как Latin 1)

8859-2 - Восточная Европа
8859-5 - Кириллица
8859-8 - Идиш
В Latin 1, старшая половина таблицы определяет различные символы,
которые - не являются частью Английского алфавита, но присутствует в
различных европейских языках (немецкие umlauts, французские диакритические
знаки и т.д).
Другая популярная реализация расширенного ASCII - это так называемая