Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Чё меня бесит

Автор Алексей Гринь, марта 27, 2010, 21:09

0 Пользователи и 3 гостей просматривают эту тему.

Алексей Гринь

Ну так вы посмотрите на их лого:



Они сразу вам говорят: каша.
肏! Τίς πέπορδε;

Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Алексей Гринь

В ночном горшке.
肏! Τίς πέπορδε;

Python

Вообще-то, проблема с кодировками не ограничивается таким чудесным языком, как каша. Начнем с того, что кодировка в окне командной строки ВинХР не совпадает с дефолтной кодировкой системы (если вам известно, как это изменить, подскажите, буду очень благодарен). Для программ, работающих со строками байтов, это несущественно, но 99% джава-программ, работающих в консоли (и kawa в том числе) при вводе-выводе производят перекодировку из дефолтной кодировки во внутреннее представление и обратно. Джава считает, что это windows-1251, хотя на самом деле cp866. А посколько в windows-1251 зачем-то оставили дырку на месте символа, совпадающего по номеру с буквой Ш в cp866, то эта буква становится неиспользуемой и теряется при попыке системы воспроизвести прочитанное. Пример:

#|kawa:9|# "ШУШПАНЧИК! ПЫШЧЬ! ПЫШЧЬ!"
?У?ПАНЧИК! ПЫ?ЧЬ! ПЫ?ЧЬ!

Когда-то был у нас спор уже не помню с кем (хотя догадываюсь) о необходимости существования строк байтов. Вот пример возможности работы с потоком труъ-символов, где этот обходной маневр невозможен. Разработчики каши решили, что непостредственный вывод байтов — вчерашний день, потому используют более продвинутые средства, теоретически способные работать с юникодом. Как всегда бывает в таких случаях, кодировку система берет сама при старте, и ее нельзя менять на лету, поскольку ввод-вывод осуществляется через ридеры и райтеры, а не стримы, а общего метода для доступа к самим стримам, над которыми надстроены ридеры, я пока не обнаружил.

Еще один интересный момент. Kawa может использоваться как веб-сервер. При этом любой символ, выходящий за пределы базового набора ascii, трансформируется в хтмл-код, на это нельзя никак повлиять, зато текст отображается правильно независимо от кодировки страницы (хоть и больше весит). В общем, затыкание дырок вместо адекватного решения проблемы.

Еще один интересный класс, теперь уже в Java API. java.io.FileWriter — умеет открывать файлы, выполнять различные манипуляции с ними, кроме, естественно, работы с заданной кодировкой или записи последовательности байтов. Еще одно юникодовское средство объектно-ориентированного программиста, использующее дефолтную кодировку.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: Алексей Гринь от февраля  3, 2011, 03:13
В ночном горшке.
Там, вообще-то, кофе имелось в виду (пол. kawa, укр. кава). Приятного аппетита :)
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Алексей Гринь

Python, а на Линуксах есть такие проблемы? Просто обычно ведь такой опенсорс делается в первую очередь под Линуксы, а порты под Виндовс делаются второпях абы было. На Линуксах консоль няшная, юникод поддерживается во всём масштабе как полагается, не то что в Винде.

Цитата: Python от февраля  3, 2011, 04:18
ЦитироватьВ ночном горшке.
Там, вообще-то, кофе имелось в виду (пол. kawa, укр. кава)
Чашки такими продолговатыми относительно высоты не бывают, а у кастрюль по две ручки, так что это определённо ночной горшок :)




Меня в этом смысле бесят поделки на дельфи (вроде здесь уже жаловались на это), так как если кодировка стоит в EN, и если копируется русский текст в программе, слепленной на Дельфи, то кодировка в буфере будет поломатая. Только что опять на это наткнулся :( (при этом ctrl+shift не работает, нужно мышкой щёлкать) И это-то когда полный юникод существует уже как минимум с ХРюши, т.е. с 2001 г. (хз как в Windows 2000)
肏! Τίς πέπορδε;

Triton

Вот поэтому я и считаю, что уж лучше просто строки байт, чем такая поддержка уникода.
Молиться, поститься и слушать радио Ватника

Esvan

Цитата: Алексей Гринь от февраля  3, 2011, 05:29
когда полный юникод существует уже как минимум с ХРюши, т.е. с 2001 г. (хз как в Windows 2000)
С 1993 года (Windows NT 3.1).

myst

Цитата: Алексей Гринь от февраля  3, 2011, 05:29
На Линуксах консоль няшная, юникод поддерживается во всём масштабе как полагается, не то что в Винде.
Так поставь в Винде UTF-8 для консоли.

myst

Цитата: Алексей Гринь от февраля  3, 2011, 05:29
Меня в этом смысле бесят поделки на дельфи (вроде здесь уже жаловались на это), так как если кодировка стоит в EN, и если копируется русский текст в программе, слепленной на Дельфи, то кодировка в буфере будет поломатая. Только что опять на это наткнулся :( (при этом ctrl+shift не работает, нужно мышкой щёлкать) И это-то когда полный юникод существует уже как минимум с ХРюши, т.е. с 2001 г. (хз как в Windows 2000)
Потому что кодеры — идиоты. Этим страдают не только поделки на Делфи. В бимерской программе, которой я пользуюсь по работе, такая же фигня. Команда putclip из cygwin-utils тоже. :(
А надо-то SetClipboardData(CF_UNICODETEXT, text)), и всего делов. :wall:

myst

Цитата: Triton от февраля  3, 2011, 07:55
Вот поэтому я и считаю, что уж лучше просто строки байт, чем такая поддержка уникода.
Толсто.

Nevik Xukxo

Бесит советская архитектура!
Живу на последнем этаже дома около 56-летней давности - с потолка злобно капает!
>( >( >(

myst

Цитата: Невский чукчо от февраля  3, 2011, 09:37
Бесит советская архитектура!
Бесят современные говноподелки быдлостроителей.

mnashe

Цитата: myst от февраля  3, 2011, 10:58
Бесят современные говноподелки быдлостроителей.
Offtop
Задумался: а смог ли бы я отличить говноподелку быдлостроителей от быдлоподелки говностроителей?
Бесит израильское строительство «слепил-продал-и-плевать-на-последствия».
Ладно бы оно стоило соответственно!
Но за те деньги, которые здесь за это берут, вполне можно было нанять недебила, который догадается, что не стоит прокладывать трубу с горячей водой, да ещё не теплоизолированную, по внешней стене дома, так что при каждом открывании крана при купании нужно слить в канализацию ведро драгоценной влаги, прежде чем пойдёт горячая вода.
Вообще, бесит подобное отношение к жизни — «после нас хоть потоп», «я свои денежки получил, и вы все хоть посохните».
Ну, и шире: бесит капитализм, в такой дикой форме.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

RawonaM

Цитата: mnashe от февраля  3, 2011, 11:51
Цитата: myst от февраля  3, 2011, 10:58
Бесят современные говноподелки быдлостроителей.
Offtop
Задумался: а смог ли бы я отличить говноподелку быдлостроителей от быдлоподелки говностроителей?
Бесит израильское строительство «слепил-продал-и-плевать-на-последствия».
Ладно бы оно стоило соответственно!
Но за те деньги, которые здесь за это берут, вполне можно было нанять недебила, который догадается, что не стоит прокладывать трубу с горячей водой, да ещё не теплоизолированную, по внешней стене дома, так что при каждом открывании крана при купании нужно слить в канализацию ведро драгоценной влаги, прежде чем пойдёт горячая вода.
Вообще, бесит подобное отношение к жизни — «после нас хоть потоп», «я свои денежки получил, и вы все хоть посохните».
Ну, и шире: бесит капитализм, в такой дикой форме.
:+1:

myst

+, но я ещё требую посадок.

Nevik Xukxo

Цитата: myst от февраля  3, 2011, 10:58
Бесят современные говноподелки быдлостроителей.

Лучше современный быдлострой, чем капающий на голову хрущёв.  >(

Python

Цитата: myst от февраля  3, 2011, 08:45
Так поставь в Винде UTF-8 для консоли.
Знал бы как — уже поставил бы. Там что-то откуда-то качать нужно, или это где-то в настройках винды зарыто? В ХР эта возможность работает? И главное, заметит ли джава utf8, если cp866 она в упор не видит?

Впрочем, в случае kawa, проблема с консолью решается довольно просто: можно запустить ее в виде GUIшного окна с поддержкой юникода. Использовав джава-классы, можно даже заставить каву работать с файлами в произвольной кодировке. А вот как-либо изменить кодировку в режиме веб-сервера...
Цитата: Алексей Гринь от февраля  3, 2011, 05:29
Python, а на Линуксах есть такие проблемы? Просто обычно ведь такой опенсорс делается в первую очередь под Линуксы, а порты под Виндовс делаются второпях абы было. На Линуксах консоль няшная, юникод поддерживается во всём масштабе как полагается, не то что в Винде.
Похоже, что на линуксе этой проблемы нет. Но джава кагбе кроссплатформенная платформа, и то, что работает на линухе, обычно работает и на винде (хоть иногда и кривовато). Такое понятие, как порт, здесь практически не используется за ненадобностью. И потом, существование других кодировок пока не отменялось.

Цитата: Алексей Гринь от февраля  3, 2011, 05:29
и если копируется русский текст в программе, слепленной на Дельфи, то кодировка в буфере будет поломатая.
Что самое интересное, при вставке такого текста в одни программы кодировка ломается, при вставке в другие — нормальный русский текст...
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: Алексей Гринь от февраля  3, 2011, 05:29
Чашки такими продолговатыми относительно высоты не бывают
Чашки для кофе — очень даже бывают.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Hellerick

Не бесит, но начинает доставать равонамовская зеленая единица.

Лукас

Цитата: Hellerick от февраля  3, 2011, 13:39
Не бесит, но начинает доставать равонамовская зеленая единица.
:+1:
«Победоносил, победоносю и победоносить буду». Георгий Победоносец
«Я мстю, и мстя моя будет ужасной» - объявил бобёр лесу.
«Бог чува Србе», али је рок трајања истиче!

Demetrius

Цитата: Hellerick от февраля  3, 2011, 13:39
Не бесит, но начинает доставать равонамовская зеленая единица.
-1

Мне нравится.

Кстати, Лукас, не читайте мысли! Это запрещено конвенцией ООН!

Лукас

Цитата: Demetrius от февраля  3, 2011, 13:44
Кстати, Лукас, не читайте мысли! Это запрещено конвенцией ООН!
Вам можно, мне нельзя?
«Победоносил, победоносю и победоносить буду». Георгий Победоносец
«Я мстю, и мстя моя будет ужасной» - объявил бобёр лесу.
«Бог чува Србе», али је рок трајања истиче!

Demetrius

Цитата: Лукас от февраля  3, 2011, 13:45
Цитата: Demetrius от февраля  3, 2011, 13:44
Кстати, Лукас, не читайте мысли! Это запрещено конвенцией ООН!
Вам можно, мне нельзя?
Ну так я же в Беларуси, здесь никого не волнуюь права человека. :mrgreen:

Python

Цитата: Triton от февраля  3, 2011, 07:55
Вот поэтому я и считаю, что уж лучше просто строки байт, чем такая поддержка уникода.
И то, и другое имеет свои недостатки. Меня бы больше устроило совместное существование двух типов данных, плюс классы для ввода-вывода, поддерживающие и то, и другое (примерно как java.io.PrintStream), но при этом еще и с возможностью устанавливать кодировку на лету, а не только через конструктор.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2