|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/657739c93107.html, оценка из 5, голосов 10
|