UTF us koi8-r (в чём разница)
Модератор: Bizdelnick
-
- Сообщения: 96
UTF us koi8-r
а почему некоторые ставят UTF а не koi8-r
обьясните тупому в чём разница?
обьясните тупому в чём разница?
-
- Сообщения: 545
- Статус: Депрессивный токарь с Межделмаша
- ОС: *buntu, OpenSolaris
Re: UTF us koi8-r
Так как сам тупой, буду отвечать.
UTF-8 страшно прогрессивная кодировка, и если её все поставят, то всем-всем нациям и языкам придёт счастье,потому что в 2 бита по идее можно упаковать все письменности мира, включая чукчей и жителей Удава.
Koi8-r это пережиток прошлого, исконно русская кодировка. Но кроме России никому не нужна, поэтому вечные проблемы с именами и кракозябрами русских дисков под нерусскими буржуйскими операционными системами

Все на Юникод!
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: UTF us koi8-r
Позволю себе скроменько заметить, что UTF-8 - это не 2 бита, и даже не 2 байта...
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: UTF us koi8-r
по-простому так:
один байт (в том смысле, что — октет, т.е. 8 бит) — это 256 значений.
половина (128) отведена под латинский алфавит, знаки пунктуации и всякий мусор.
отведена — и всё. и неприкасаема. во имя обратной совместимости. это святое. во веки веков. аминь.
во вторую половину можно уместить от силы пару азбук.
к примеру, кириллицу (абвгд...) и гречаницу
(αβγδε...)
а как быть с остальными алфавитами?
тут есть много вариантов.
например, такой:
пронумеровать все символы необходимых азбук по порядку. сколько бы их ни было.
на данный момент зарезервировано порядка 2 в 32-й степени знакомест.
заполнены, конечно, далеко не все. да и вряд ли когда-то будут полностью заполнены.
но так, на всякий случай...
получаем — для представления одного символа требуется 4 октета (32 бита).
грубо говоря, это и есть utf-32.
четыре байта на один символ? жирно.
начинаем изворачиваться.
пусть длина одного символа (в байтах) будет переменной.
байты со значениями от 0 до 127 — то самое, святое (см. выше).
а остальные будем считать служебными.
и рассматривать их таким образом:
если служебный байт начинается с комбинации битов 10, то берем следующий за ним один байт и получаем такую картину:
10xxxxxx xxxxxxxx
где x — произвольные биты.
дополняем эти биты слева нулями до общего числа 32:
00000000 00000000 00xxxxxx xxxxxxxx
и рассматриваем эту белиберду как символ из той самой utf-32.
вы справедливо заметите — но это ведь всего 2 в 14-й степени символов! а где же остальные?
а вот где:
если служебный байт начинается с комбинации битов 110, то берем идущие за ним _два_ байта:
110xxxxx xxxxxxxx xxxxxxxx
и точно так же дополняем не-служебные биты нулями слева:
00000000 000xxxxx xxxxxxxx xxxxxxxx
и получаем уже 2 в 21-й степени символов.
а если служебный байт начинается с комбинации битов 1110, то берем идущие за ним _три_ байта:
1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx
и так далее.
думаю, вы и сами уже догадались, что для кодирования _всех_ на данный момент зарезервированных знакомест с головой достаточно уже и служебного байта, начинающегося с 11110. ведь после него будет выбрано уже четыре байта, да плюс три бита из служебного байта — уже перебор.
вот это и есть та самая пресловутая кодировка utf-8.
когда для представления одного символа может использоваться разное число байт.
от одного до (пока) пяти. а теоретически — до восьми (но мы с вами скорее всего до этого момента не доживем).
один байт (в том смысле, что — октет, т.е. 8 бит) — это 256 значений.
половина (128) отведена под латинский алфавит, знаки пунктуации и всякий мусор.
отведена — и всё. и неприкасаема. во имя обратной совместимости. это святое. во веки веков. аминь.
во вторую половину можно уместить от силы пару азбук.
к примеру, кириллицу (абвгд...) и гречаницу

а как быть с остальными алфавитами?
тут есть много вариантов.
например, такой:
пронумеровать все символы необходимых азбук по порядку. сколько бы их ни было.
на данный момент зарезервировано порядка 2 в 32-й степени знакомест.
заполнены, конечно, далеко не все. да и вряд ли когда-то будут полностью заполнены.
но так, на всякий случай...
получаем — для представления одного символа требуется 4 октета (32 бита).
грубо говоря, это и есть utf-32.
четыре байта на один символ? жирно.
начинаем изворачиваться.
пусть длина одного символа (в байтах) будет переменной.
байты со значениями от 0 до 127 — то самое, святое (см. выше).
а остальные будем считать служебными.
и рассматривать их таким образом:
если служебный байт начинается с комбинации битов 10, то берем следующий за ним один байт и получаем такую картину:
10xxxxxx xxxxxxxx
где x — произвольные биты.
дополняем эти биты слева нулями до общего числа 32:
00000000 00000000 00xxxxxx xxxxxxxx
и рассматриваем эту белиберду как символ из той самой utf-32.
вы справедливо заметите — но это ведь всего 2 в 14-й степени символов! а где же остальные?
а вот где:
если служебный байт начинается с комбинации битов 110, то берем идущие за ним _два_ байта:
110xxxxx xxxxxxxx xxxxxxxx
и точно так же дополняем не-служебные биты нулями слева:
00000000 000xxxxx xxxxxxxx xxxxxxxx
и получаем уже 2 в 21-й степени символов.
а если служебный байт начинается с комбинации битов 1110, то берем идущие за ним _три_ байта:
1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx
и так далее.
думаю, вы и сами уже догадались, что для кодирования _всех_ на данный момент зарезервированных знакомест с головой достаточно уже и служебного байта, начинающегося с 11110. ведь после него будет выбрано уже четыре байта, да плюс три бита из служебного байта — уже перебор.
вот это и есть та самая пресловутая кодировка utf-8.
когда для представления одного символа может использоваться разное число байт.
от одного до (пока) пяти. а теоретически — до восьми (но мы с вами скорее всего до этого момента не доживем).
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: UTF us koi8-r
да по-моему статьями о utf полны ночные горшки(alv @ Sep 22 2006, в 20:59) писал(а):м.б. типа статьи из этого сделаете?

мне просто было лень искать

и я просто оттачивал почерк. (кстати, что-то такое написал какой-то знаменитый американец в ответ на какие-то там возмущения не то конгрессменов, не то еще кого... не помню. может, кто напомнит. поиск в google не помог

Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: UTF us koi8-r
плюс ко всему я сейчас уже одну статью пишу — про безиндикаторную работу с несколькими раскладками клавиатуры.
чем больше пишу, тем больше приходит в голову. надо насильно ограничиваться. а то никогда не закончу.
но если вдруг закончу — место выкладки — на posix.ru
чем больше пишу, тем больше приходит в голову. надо насильно ограничиваться. а то никогда не закончу.
но если вдруг закончу — место выкладки — на posix.ru
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Бывший модератор
- Сообщения: 1005
- Статус: добрый хиппи
Re: UTF us koi8-r
На своём компьютере Вы вольны использовать любую кодировку. Разницы нет.
Однако же - почему юникод?
Начнём с того, что Gnome и KDE изначально юникодные. И для нормальной работы с другой кодировкой приходится предпринимать некоторые (хотя и несложные) телодвижения (например экспортировать переменную окружения G_BROKEN_FILENAMES).
Далее - юникод становится общемировым стандартом. Мало-помалу на него переходит всё больше дистрибутивов. Lingua franca, так сказать...
И напоследок - приятная мелочь.
Вот так выглядит монтирование win-диска в koi8-r:
а вот так - в юникоде:
P.S. Хорошая статья про юникод
Однако же - почему юникод?
Начнём с того, что Gnome и KDE изначально юникодные. И для нормальной работы с другой кодировкой приходится предпринимать некоторые (хотя и несложные) телодвижения (например экспортировать переменную окружения G_BROKEN_FILENAMES).
Далее - юникод становится общемировым стандартом. Мало-помалу на него переходит всё больше дистрибутивов. Lingua franca, так сказать...
И напоследок - приятная мелочь.
Вот так выглядит монтирование win-диска в koi8-r:
Код: Выделить всё
mount -t vfat -o iocharset=koi8-r,codepage=866 /dev/hda5 /mnt
а вот так - в юникоде:
Код: Выделить всё
mount -t vfat -o utf-8 /dev/hda5 /mnt
P.S. Хорошая статья про юникод
Ушёл навсегда. В личку не заглядываю.
-
- Сообщения: 1172
- Статус: thermonuclear...
- ОС: GNU/Linux
Re: UTF us koi8-r
А я вот тоже собираюсь прикупить себе новый жесткий диск, но поставив на него Debian и обязательно UTF-8.
А то я до сих пор под KOI8-R и рус/лат по Alt+Space (привет, sash-kan)!
А то я до сих пор под KOI8-R и рус/лат по Alt+Space (привет, sash-kan)!

-
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: UTF us koi8-r
и многие из них вполне соответствуют содержимому оных

а тут
а) стиль
б) сам по себе ход рассуждений
Так что не скромничайте
Ну и про несколько раскладок - оно тоже
-
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: UTF us koi8-r
(StraNNicK @ Sep 23 2006, в 04:19) писал(а):юникод становится общемировым стандартом
увы - никогда не станет юникод общемировым стандартом, миллиард с лишним носителей cjk не дадут, и бессчетное количество официальных документов в cp866
по крайней мере, я до этого дожить не рассчитываю
А вообще, тема жевана, пережевана и многократно проглочена, в том числе и на этом форуме.
Потому, не повторяя аргументации, приведу основные выводы:
если работать преимущественно в консоли, предпочтительна 8-битная кодировка (любая, но koi8 доставит меньше всего осложнений)
если работать преимущественно в KDE или Gnome, по указанной выше Странником причине можно использовать _любую_ кодировку
юникод становится практически необходимым, если нужно работать более чем с двумя языками_чарсетами
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: UTF us koi8-r
alv
спасибо на добром слове.
по поводу своего поста — думаю, что он отлично смотрится именно в формате поста.
и на статью никак не катит. потому что приоткрывает лишь один маленький нюанс.
поэтически можно сказать так:
этот пост — всего лишь пара снежинок на верхушке айсберга под названием unicode.
а у айсберга, как известно, помимо верхушки, есть еще бОльшая подводная часть.
а ведь есть еще и другие айсберги.
и все они плавают в гигантском океана под названием "проблемы представления письменностей и других печатных знаков в электронном виде".
спасибо на добром слове.
по поводу своего поста — думаю, что он отлично смотрится именно в формате поста.
и на статью никак не катит. потому что приоткрывает лишь один маленький нюанс.
поэтически можно сказать так:
этот пост — всего лишь пара снежинок на верхушке айсберга под названием unicode.
а у айсберга, как известно, помимо верхушки, есть еще бОльшая подводная часть.
а ведь есть еще и другие айсберги.
и все они плавают в гигантском океана под названием "проблемы представления письменностей и других печатных знаков в электронном виде".
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Бывший модератор
- Сообщения: 1005
- Статус: добрый хиппи
Re: UTF us koi8-r
Ну, если не считать того, что windows УЖЕ на юникоде. MacOS X УЖЕ на юникоде. А линукс активно переходит на юникод - то да не станет...

??? Что именно доставит затруднения, если кодировка будет utf?
Если дистрибутив нормальный (а-ля Дебиан) - вообще никаких проблем.
Если дистрибутив ЖЁСТКО заточен под одну кодировку - тогда да - будут проблемы... И то - не так чтобы смертельные.
Намёк - дистрибутивов второго типа немного.

Про CJK - насколько я помню, как раз мои знакомые японисты и анимешники юникоду сильно радуются.

Рекомендую к прочтению вот это. Особое внимание на ссылку в начале текста. Самое интересное в ней - позиция ALT Linux разработчика.
Ушёл навсегда. В личку не заглядываю.
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: UTF us koi8-r
спасибо за ссылку. да, посмеялся от души...(StraNNicK @ Sep 23 2006, в 11:50) писал(а):Особое внимание на ссылку в начале текста. Самое интересное в ней - позиция ALT Linux разработчика.
croco, как я понял, преподает что-то про оси в каком-то вузе?
жаль, не про что-нибудь более гуманитарное.
тогда бы, глядишь, и не начинал флейма о значении тех или иных терминов. и не увяз бы в терминологии. текст, символ, кодировка... как и любые понятия, их можно трактовать очень по-разному.
а alt linux разработчик — это, как я понял, vitus_wagner?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Сообщения: 330
- ОС: Debian Lenny
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
- Сообщения: 767
- ОС: Debian GNU/Linux SID
Re: UTF us koi8-r
А что с мц? с УТФ его глюки я видел где-то год назад, если не больше.
-
- Сообщения: 330
- ОС: Debian Lenny
Re: UTF us koi8-r
Не знаю - у меня в SUSE 10.1 проблем с кодировкой mc нет (к слову их вообще почти нет).
Хотя сам mc не пользуюсь, вот все же проверил:
-
- Сообщения: 260
- ОС: Debian Etch, RHEL-5.4
Re: UTF us koi8-r
(Sniff @ Sep 23 2006, в 16:25) писал(а):У меня другой вопрос:
а почему некоторые ставят koi8-r, а не UTF?
Я свою федору-3 перевел с утф на кои-8 (3 минуты работы).
1) предпочитаю работать в консоли
2) огромное число текстовых файлов в кои-8
3) не вижу смысла менять один костыль на другой -> http://bugtraq.ru/library/misc/encoding.html
Послужной список: Slackware-3.x, RedHat-4.x,5.x,6.x,7.x, FedoraCore-3, Debian Etch/Lenny
Осваиваю: RHEL-5.4
Осваиваю: RHEL-5.4
-
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: UTF us koi8-r
(StraNNicK @ Sep 23 2006, в 12:50) писал(а):Ну, если не считать того, что windows УЖЕ на юникоде. MacOS X УЖЕ на юникоде. А линукс активно переходит на юникод - то да не станет...
Женя, ты же прекрасно понимаешь, о чем - ну не станет юникод единственным чарсетом. По крайней мере при моей жизни.
Про CJK - ну не хватает UTF8 им для полного комплекта.
А про консоль - как ты помнишь, и syscons и wscons, не говоря уж о pcvt, унутре 8-битные, и прикрутить к ним юникод проблематично.
И никто - НИКТО, как заметил Снейк в аналогичной теме (который раз по счету она возникает?) - не будет перекодировать нормативные документы из cp866. Конечно, со временем они все отомрут - но я уж до этого точно не доживу.
-
- Бывший модератор
- Сообщения: 1005
- Статус: добрый хиппи
Re: UTF us koi8-r
Нет, Алексей Новодворский.
Вот точная ссылка на то, что меня заинтересовало больше всего.
КРАЙНЕ рекомендую для прочтения. Причём всем заинтересованым.
Во FreeBSD, например, юникод возможен только в Х-ах.
В линуксе:
необходимость работы в старых приложениях.
дистрибутив, жёстко заточеный под koi, когда легче поставить koi и не мучиться. Пример - Арч, где-то полгода назад (wolf_black написал даже последовательность шаманских действий, позволяющих получить вожделенный юникод. Скажем так - с кои всё было СИЛЬНО проще).
Всё, пожалуй.
Есть ещё такой довод - можно читать русские тексты в нелокализованной системе (получается транслит). Мне этот довод кажется ммм... надуманым.
alv писал(а): ↑24.09.2006 11:17(StraNNicK @ Sep 23 2006, в 12:50) писал(а):
Ну, если не считать того, что windows УЖЕ на юникоде. MacOS X УЖЕ на юникоде. А линукс активно переходит на юникод - то да не станет...
Женя, ты же прекрасно понимаешь, о чем - ну не станет юникод единственным чарсетом. По крайней мере при моей жизни.
Про CJK - ну не хватает UTF8 им для полного комплекта.
А про консоль - как ты помнишь, и syscons и wscons, не говоря уж о pcvt, унутре 8-битные, и прикрутить к ним юникод проблематично.
И никто - НИКТО, как заметил Снейк в аналогичной теме (который раз по счету она возникает?) - не будет перекодировать нормативные документы из cp866. Конечно, со временем они все отомрут - но я уж до этого точно не доживу.
Единственным? Разумеется, нет!
Просто KOI постепенно отойдёт на второй план, как KOI7 или GOST-сколько-то. Или CP866.
Юникод станет доминирующим чарсетом.

Про CJK - их проблемы. Спорить не буду, поскольку предметом владею слабо.
Про консоль: Алексей, вот не надо, а? Приведи примеры некорректно работающих программ. В той же Убунте или в Дебиане, где локализация вполне себе на уровне.
Про нормативные документы и прочая, и прочая. Вот смотри - документы в СР866, а локаль КОИ - всё нормально, а теперь - документы в СР866, а локаль юникод - кошмар! Кошмар!
Бред же, а?
Тем паче, в гос. конторах те документы, которые ещё остались в СР866 в полный рост пользуют на системах с юникодной локалью (это я про винХР) - и ничего. Если же мы говорим про старое железо - то там ни КОИ, ни утф точно нет. Потому как DOS и СР866.

P.S. Всё ж таки посмотри на ссылку. Показательна именно позиция альтовца.
Ушёл навсегда. В личку не заглядываю.
-
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: UTF us koi8-r
(StraNNicK @ Sep 24 2006, в 19:56) писал(а):P.S. Всё ж таки посмотри на ссылку. Показательна именно позиция альтовца.
Что тут скажешь? Умный мужик АЕН, с ним можно только согласиться:
Повторюсь, проблема -- есть. Хорошего решения -- нет. Есть полухорошее.
-
- Бывший модератор
- Сообщения: 2088
- Статус: Насильник бабушек-педофилок
- ОС: Windows 10
Re: UTF us koi8-r
(alv @ Sep 24 2006, в 20:31) писал(а):Что тут скажешь? Умный мужик АЕН, с ним можно только согласиться:
если я не ошибаюсь, то именно с ним мы беседовали на позарошлом софтуле...
Хрю.
-
- Бывший модератор
- Сообщения: 1005
- Статус: добрый хиппи
Re: UTF us koi8-r
Повторюсь, проблема -- есть. Хорошего решения -- нет. Есть полухорошее.
Ага. Только koi - тоже полухорошее. Нет у него преимуществ (кроме того, что в некотором старом софте он есть, а юникода - нет). Зато, как было справедлиао указано им же - практически весь свежий софт идёт в юникоде, а в других кодировках зачастую и не тестируется.
Вообще, локаль-то на самом деле - пофиг какая. А вот на уровне приложений юникод рулит просто безбожно. Сравните ICQ и джаббер. Или IRC и SILK (или тот же Jabber). Или mp3 и ogg (я имею в виду тэги).
Зря что ли помянутые ICQ, IRC и mp3-теги перешли (ну, IRC не везде) на utf?
Lingua franca - вещь полезная.
Ушёл навсегда. В личку не заглядываю.