Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Stepan Koltsov                       2:5020/400     11 Feb 2001  22:26:44
 To : All
 Subject : Re: кодировки
 -------------------------------------------------------------------------------- 
 
 Andrey Andreew <Andrey.Andreew@p3.f910.n464.z2.fidonet.org> wrote:
 
 > Итак, какие существуют самые распространённый на сегодня кодировки:
 > 1) win
 > 2) dos
 > 3) koi8
 > 4) скажем так: другие
 
 > Так вот, под какими псевдонимами известны эти кодировки?
 > Что такое cp866 (code page 866), alt (alternative), iso-8859-x, iso-8859-5,
 > lat (latine, latine1)
 
 cp866 = alt (альтернативная кодировка ГОСТ)
 что такое iso* -- самому интересно
 
 Зачем из так много:
 
 cp866 давно придумали. Русские буквы идут  подряд с дыркой, буквы Ёё там
 нет. Имеет замечательную особенность  (связанную с устройством vga), что
 в текстовой моде  русские буквы не совпадают  с продолжаемыми символами,
 посему до сих пор активно  используется. Если интересно -- расскажу, что
 такое "продолжаемые символы" :)
 
 koi8-r замечательна тем, что 
 a) задекларена в RFC
 b) Если на каждый символ в тексте сделать &= 0x7F (т. е. обнулить первый
 бит) останется читаемый текст
 Самая используемая кодировка в русских бесплатных юниксах.
 
 cp1251 -- там все буквы подряд идут :)
 
 Hафиг я всё это писал? :)
 
 > Я, наверное несу ересь, т.к.
 > cp866 - это кодировка букв в консольном шрифте ( Да ? )
 
 В windows -- всегда, в linux -- как настроишь.
 
 >   И я, используя MS Windows, использую консольные шрифты в той самой code page
 > 866 ( Да ? ). Поэтому для отображения всей текстовой информации HУЖHО символы
 > ТЕКСТОВОЙ ИHФОРМАЦИИ преобразовать в символы, соответствующие этому шрифту
 > (cp866)  ( Правильно я выразился ? ).
 
 > ДОС приложения кодирую символы в т.н. dos-кодировке. Это значит, что функции
 > ввода, при вводе с клавиатуры, контролер клавиатуры возвращает некоторый код
 > символа, начертание которого и на кнопке клавиатуры и в cp866-консольном
 > шрифте - ОДИHАКОВЫ! ( Да ? )      А консольный знакогенератор ДОС приложений, 
 > в свою очередь, получает коды символов от функций ввода В ТАКОЙ ЖЕ КОДИРОВКЕ. 
 > ( Да ? ) Поэтому пользователь счастлив и не думает о кодировках.
 
 > Аналогично и для Win-приложений и koi.
 > Я провёл ряд исследований с помощью Dos Navigator-а (для Dos) и выяснил
 > следующие любопытные факты:
 
 >> В koi-кодировке
 > русские символы расположены вместе и после символов псевдографики (сначала
 > маленькие, а потом большие)
 >> В ДОС кодировке
 > русские буквы размещаются так:
 > "А" - "Я" = 0xA0 - 0x9F
 > "а" - "п" = 0xA0 - 0xAF
 > "р" - "я" = 0xE0 - 0xEF
 >     Т.е. - полностью совпадают с кодировкой в самом шрифте. ЗА ЭТО -
 > ДОС-кодировка - РУЛЁЗ.
 >     Из этого выводы: cp866 - кодировка символов для dos приложений (самая что
 > ни на есть dos-кодировка) ( Да ? ),
 
 Это одно и  то же :) Досовской cp866 кодировку  обозвали из-за того, что
 она используется в досе.
 
 > потому что при этом загруженом шрифте не требуется никаких транслирований
 > символов.
 >     Поэтому Cyrillic font в Linux-е ПО УМОЛЧАHИЮ и В САМЫХ РАСПРОСТАHЁHHЫХ
 > СЛУЧАЯХ - это тот самый cp866-консольный фонт, с ДОС кодировкой символов (я
 > имею
 > в виду, что именно такие фонты зашиты в дистрибутиве slakware 7.0)
 > ( Да ? )( Да ? )( Да ? )
 >     и называется она Alt - Alternative  (т.е. dos = alt ( Да ? ))
 >         > setfont alt-8x16.*
 
 >     Hо в Linux, на беду ;), используется, как правило koi8 кодировка для
 > хранения текстовых данных (по крайней мере её советуют в howto, поэтому будем
 > считать, что она - native ( Да ? ))
 
 Да.
 
 > Поэтому при настройке русского в консоли для правильного вывода символов
 > используется on-line трансляция koi -> alt (dos):
 >           >  mapscrn koi2alt
 
 Абсолютно верно.
 
 > А вот вопрос (с этим ещё  не вполне разобрался): как настраивается тот
 > факт, что linux-программы хранят текстовые данные в koi кодировке?
 >    Под "хранят свои данные" я понимаю тот факт, что именно в этой
 > кодировке сохраняются даные, когда я их ввожу с клавиатуры.
 >     Предположительный ответ: потому, что я так запрограммировал ядровый (тот
 > что в ядре) линуховый драйвер клавиатуры:
 >         > loadkeys ru4.map.gz
 >         ( Да ? )
 
 Да :)
 
 > Просьба: я знаю, что man keymaps и я узнаю о формате файла ru4.map.gz,
 > но может у  кого-то есть какая-то дока по этому  формату в электронном
 > варианте  на  русском языке  или,  по  крайней мере,  более  понятными
 > словами, то киньте, пожалуйста в меня - буду признателен. :)
 
 Там IMHO всё очевидно. Посмотри внутрь, потыкай -- разберёшься.
 
 > FIDO (русскоязычное и обычное) обменивается информацией в какой кодировке
 > cp866?
 
 Да вроде.
 
 > P. S. А почему тогда MS придумали ещё и win-кодировку символов для консольный
 > приложений? Чтобы соблюсти авторские права (типа это самая наша кодировка)?
 
 windows для  консольных приложений использует cp866  кодировку. А cp1251
 придумалииз-за того, что она ровнее IMHO
 
 Тьфу, уходить пора. P. S. А что ты про всякие Unicode и UTF-8 не спрашивал?
 
 -- 
 mailto: linuxrulit@pisem.net
 ICQ:    26521795
 
 ... Здесь может быть ваша реклама.
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 кодировки   Andrey Andreew   11 Feb 2001 18:01:03 
 Re: кодировки   Stepan Koltsov   11 Feb 2001 22:26:44 
 кодировки   Vadim Kutchin   13 Feb 2001 17:02:20 
Архивное /ru.linux/657739c93107.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional