Тут пишут что в одном красноглазом проекте за 12 лет справились с кодировками - http://www.dra27.uk/blog/platform/2017/1... - если это правда, то желаю всем остальным тоже включить голову
2017-11-05 13:08:53

Участники:
@vt - 27, @zinid - 15, @solhov - 12, @OCTAGRAM - 3, @6yp4uk - 1

@solhov
cp866
#2888430/1 2017-11-05 14:32:05
@vt
Да, в статье красноглазики с удивлением узнали что эти кодировки с 1989 года не нужны
#2888430/2 → /1 2017-11-05 14:32:55
@solhov
осталось убедить в этом винду
#2888430/3 → /2 2017-11-05 14:33:34
@vt
У винды все в порядке
#2888430/4 → /3 2017-11-05 14:34:03
@solhov
cp866
#2888430/5 → /4 2017-11-05 14:34:24
@vt
Это не у винды
#2888430/6 → /5 2017-11-05 14:34:35
@solhov
а винда-то и не знает!
#2888430/7 → /6 2017-11-05 14:35:13
@vt
Ты бы хоть ссылку открыл
#2888430/8 → /7 2017-11-05 14:35:32
@solhov
и что бы это изменило?
#2888430/9 → /8 2017-11-05 14:41:06
@vt
Зачем ты запускаешь команды эмулятора доса? На вывод нормальных программ это не влияет
#2888430/10 → /9 2017-11-05 14:42:14
@solhov
о, началось верчение ужом
#2888430/11 → /10 2017-11-05 14:42:47
@vt
У кого? У красноглазика не желающего разбираться? Я вот и дал ссылку на тех, кто все таки включил голову
#2888430/12 → /11 2017-11-05 14:43:40
@solhov
cp866, как ни крути
#2888430/13 → /12 2017-11-05 14:44:28
@vt
Как ни крути что?
#2888430/14 → /13 2017-11-05 14:45:05
@solhov
тухес vt на сковородке
#2888430/15 → /14 2017-11-05 14:45:40
@vt
Ясно, очередной красноглазый долбоеб без мозга
#2888430/16 → /15 2017-11-05 14:46:55
@6yp4uk
У меня ' ' и ' ' аст оены? )))))
#2888430/17 2017-11-05 14:50:14
@zinid
шиндошс-проблемы, алсо, ocaml запиливается в INRIA, ясен пень там хардкор, там же phd сплошные. Не совсем понятно причём здесь красноглазики
#2888430/18 2017-11-05 16:07:44
@vt
PhD за 12 лет осилили документацию на винду? Больше на дворников похожи :)
#2888430/19 → /18 2017-11-05 16:09:00
@zinid
phd выше этой крысиной возни
#2888430/20 → /19 2017-11-05 16:09:36
@OCTAGRAM
WriteFile на консоль через обычное WinAPI именно так себя и ведёт. А [страницы с описанием нетривиальных обходных путей](http://archives.miloush.net/michkap/archive/2010/10/07/10072032.html) гуляют по протухающим доменам, да и то, надо ещё посмотреть, как это работает и по своему вкусу подправить код, BOM в файлы не писать, например.
#2888430/21 → /4 2017-11-06 08:14:29
@vt
«Нетривиальные» обходные пути нужны тем, что пишет в консоль через жопу, и через WriteFile в том числе. Суть же в том, что красноглазые долбоебы в принципе не хотят разбираться с вопросом и пишут через printf, который использовать нельзя
#2888430/22 → /21 2017-11-06 08:29:41
@solhov
у винды свой, особенный путь, не для всех
#2888430/23 → /22 2017-11-06 10:17:59
@vt
У винды есть апи для работы с консолью, другим не завезли
#2888430/24 → /23 2017-11-06 10:19:09
@zinid
а в чём проблема сделать printf рабочим? Стандарт всё-таки
#2888430/25 → /24 2017-11-06 10:20:12
@solhov
задолго до винды это апи называлось printf
#2888430/26 → /24 2017-11-06 10:20:19
@vt
Выше в треде октаграм давал ссылку на бложик разработчика nt console api, он там подробно расписывал, что, как и почему. Если вкратце, то в никаком стандарте в 1993 году поддержки >256 символов не было
#2888430/27 → /25 2017-11-06 10:34:55
@zinid
Какая разница сколько там байт на символ, записывается то массив байтов.
#2888430/28 → /27 2017-11-06 10:36:57
@vt
Массивом байт это стали трактовать значительно позже
#2888430/29 → /28 2017-11-06 10:37:37
@zinid
В смысле? Там же char *
#2888430/30 → /29 2017-11-06 10:38:47
@vt
char это вообще 127 символов :) но допустим мы условились принимать строку байт, идём дальше, чему равен strlen(“😀”)?
#2888430/31 → /30 2017-11-06 10:45:36
@zinid
strlen это не проблема print. Просто разработчик nt API не в состоянии был сделать рендеринг юникода из массива байт.
#2888430/32 → /31 2017-11-06 10:48:29
@vt
Ололо, а чья это проблема? Что дальше по стандарту делать, как длину строки определить? А в nt api это есть, с 1993 года
#2888430/33 → /32 2017-11-06 10:56:15
@zinid
Ну блядь напиши функцию для определения числа символов юникода, в чем проблема? Нахера курочить нижний уровень?
#2888430/34 → /33 2017-11-06 10:58:15
@zinid
Есть же у сишников wchar_t или как там его
#2888430/35 → /33 2017-11-06 10:59:14
@solhov
The C and C++ standard libraries include a number of facilities for dealing with wide characters and strings composed of them. The wide characters are defined using datatype wchar_t, which in the original C90 standard was defined as "an integral type whose range of values can represent distinct codes for all members of the largest extended character set specified among the supported locales" (ISO 9899:1990 §4.1.5) 1990 год -- он немножко раньше 1993го.
#2888430/36 → /27 2017-11-06 10:59:43
@solhov
ну как же! фатальный недостаток (С) же
#2888430/37 → /34 2017-11-06 11:00:19
@vt
Ну то есть никакого стандарта нет. В том и дело, что мелкософт не трогал printf и strlen, ради совместимости и по многим иным причинам, а сделал wprintf и wcslen, которые правильно работают
#2888430/38 → /34 2017-11-06 11:00:47
@zinid
wchar был в 1990
#2888430/39 → /38 2017-11-06 11:01:22
@vt
Ну да, только красноглазики этот стандарт не пользуют, а пользуют utf-8 костыль, в котором не работает strlen
#2888430/40 → /39 2017-11-06 11:02:48
@zinid
О каком костыле щас речь? 😀
#2888430/41 → /40 2017-11-06 11:03:28
@vt
Об utf-8 и его наколенном «мапинге» на char
#2888430/42 → /41 2017-11-06 11:04:10
@OCTAGRAM
Это сфигали официальное WinAPI стало чем-то маргинальным? Это как фасад, хоть и не кроссплатформенный. WriteConsole не перенаправлябельный, что критично для программ, которые пишут доктора философии, в отличие от WriteFile. printf же есть что-то вроде кроссплаторменного API. Если разработчики компилятора сегодня не успели прочитать пост на протухшем домене, то, может быть, успеют завтра, и тогда весь пересобранный код сразу починится вместе с рантаймом. Там же много таких нюансов. 64к символов нельзя зараз толкать в WriteConsole, надо разбивать.
#2888430/43 → /22 2017-11-06 12:07:09
@vt
Если бы красноглазый говнософт пользовал бы wchar_t, то проблемы бы не было вообще
#2888430/44 → /36 2017-11-06 13:59:45
@vt
Тут местами в интернете пишут, что в glibc нормальную поддержку wchar_t завезли примерно в 2004 году только. А все это время красноглазыми пиздели о том, что он не нужен (и сейчас продолжают)
#2888430/45 → /44 2017-11-06 14:01:59
@OCTAGRAM
Если под красноглазыми подразумевать тех несчастных, кто не мог придумать ничего лучше, чем писать под Линукс вот именно на сях или вот именно на плюсах, то да. А так, по крайней мере 16-битные символы неплохо поддерживались в как минимум двух разных нативных языках, один из которых — стандарт ISO, вне всякой зависимости от того, что творится снаружи.
#2888430/46 → /45 2017-11-09 10:41:18
@vt
В первую очередь под красноглазыми понимаются пиздоболы - тред начался с брехни о поддержке стандартов, когда выяснилось что именно софт под линукс не поддерживает стандарт - пиздоболов смыло куда-то - в другие места свою брехню во славу линукса распространять
#2888430/47 → /46 2017-11-09 10:46:40
@zinid
Ты бы лучше LOGIN починил
#2888430/48 → /47 2017-11-09 10:48:58
@vt
Кто-то режет куки, я пока не знаю кто, у меня не режет, не могу воспроизвести
#2888430/49 → /48 2017-11-09 11:05:43
@vt
даже на firefox работает! Может надо поставить каких-то плагинов?
#2888430/50 → /48 2017-11-09 11:22:22
@vt
починил!
#2888430/51 → /48 2017-12-14 13:13:36
@zinid
и чо было?
#2888430/52 → /51 2017-12-14 14:59:27
@vt
Кука из жаббер-ссылки кривая была
#2888430/53 → /52 2017-12-14 15:01:49
@zinid
круто, а теперь можешь починить SASL на s2s? Оно не хочет вкуривать let's encrypt сертификаты
#2888430/54 → /53 2017-12-14 17:20:38
@vt
эээ? У жуйка нет сасл в s2s, а какой сервер не соединяется?
#2888430/55 → /54 2017-12-14 17:23:30
@zinid
да похоже любой, ну оно через диалбак потом то авторизуется, но это же зашквар
#2888430/56 → /55 2017-12-14 17:24:15
@vt
ну вот еще ебаться с жаббером бесплатно и дописывать туда сасл!
#2888430/57 → /56 2017-12-14 17:25:21
@zinid
ну дело твоё
#2888430/58 → /57 2017-12-14 17:38:09