|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Удивляют меня такие заявления от человека для которого нужно написать целую страницу комментов, что бы он понял как работает std::mblen() Ну протормозил немного, что сразу ржать? 1. GUI это не современная жизнь? Гуи - это помойка, которую переписывали и будут переписывать каждые лет 5 максимум. Мы обсуждаем именно офисный софт не завязанный на сложную лингвистику. Мы обсуждаем то, как кто-то не смог быстро захардкодить utf8 как в жс/жабке/etc и рассказывает, какие плюсы плохие. PS: А ты в какой области разработки ПО работаешь? Плиз: языки программирования и предметная область. Бекенд жабка/жс/оракл для ЖКХ. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 11:43 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Ты смотрел на сигнатуру функции и сделал такое предположение, что само существование этой функции становилось абсурдом. Я недооценил любовь плюсовиков к великам и подумал, что она mb_strlen. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 11:48 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav, Ты там что-то грозился насчёт js, ну так что, когда? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 11:52 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster petrav, Ты там что-то грозился насчёт js, ну так что, когда? Извини, я подзабыл, что я там на счёт js грозился? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 11:58 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Извини, я подзабыл, что я там на счёт js грозился? Ну как так можно! petrav Если ты хочешь начать срач и модератор разрешит: через несколько постов тебе станет крайне обидно за себя. Я же жду, надеюсь, аргументы придумываю. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 12:01 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster 1. GUI это не современная жизнь? Гуи - это помойка, которую переписывали и будут переписывать каждые лет 5 максимум. Ну я видел промышленный софт, который работает десятилетиями. Хотя, конечно, ядро ОС разрабатывать круче. crutchmaster Мы обсуждаем именно офисный софт не завязанный на сложную лингвистику. Мы обсуждаем то, как кто-то не смог быстро захардкодить utf8 как в жс/жабке/etc и рассказывает, какие плюсы плохие. Ты действительно думаешь, что мне сложно подключить ICU? Вот перебрать кучу исходников, доработать их, перетестировать, объяснить окружающим зачем это надо, почему я их напрягаю и умудриться ещё и зарплату за это получить - да это сложно. Если знаешь быстрый способ - подскажи. А плюсы тут да, плохие. Потому что не поддерживают на уровне языка работу с utf-8. crutchmaster PS: А ты в какой области разработки ПО работаешь? Плиз: языки программирования и предметная область. Бекенд жабка/жс/оракл для ЖКХ. У тебя точно такая же прикладная отрасль как у меня. Я тоже могу сказать, что из-за специфики твоей работы БД твоя не нормализирована, в софте твоём куча костылей под временные-сиюминутные требования заказчика, которые нужно сделать быстро. Через пять лет проект твоей компании упадёт под собственной тяжестью и вам придётся его переписывать. Вы начнёте проектировать новое ядро своего приложения, максимально гибкое, но через пять лет там снова будет помойка из костылей. Ява станет непопулярной и вы будете переписывать всё на Go 3.0. А потом Гуглы положат на язык Го. И ты пойдешь разрабатывать промышленный софт на десятилетия. И не будешь подключать ICU. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 12:23 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Ну я видел промышленный софт, который работает десятилетиями. Унылое зрелище, не находите? Хотя, конечно, ядро ОС разрабатывать круче. Кроме ОС еще есть много чего интересного. crutchmaster А плюсы тут да, плохие. Потому что не поддерживают на уровне языка работу с utf-8. Так возьми другой язык, где есть юникод, да вкоряч его в свои плюсы. Наружу будешь выдавать char* никто и не заметит, что там что-то есть. Через пять лет проект твоей компании упадёт под собственной тяжестью и вам придётся его переписывать. Он уже прогнулся и почти рухнул 2 раза, а мы переписываем! Да ты чётров пророк! И ты пойдешь разрабатывать промышленный софт на десятилетия. И не будешь подключать ICU. Ну и так что ты хочешь от плюсовиков? Вот они походу и подумали, что юникод - это всё хипсторство и он особо не нужен. А вообще плясать надо от api, а не от программных платформ. Языки дохнут и появляются а предметная область и взаимодействия остаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 12:34 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Давайте представим Даже если лично вы можете обеспечить для своей программы работу исключительно с NFC, то вам не удастся прогнуть под себя весь остальной мир. Особенно странно требовать работу "в большинстве случаев" для встроенного типа языка или для стандартной библиотеки языка. И то и другое обязано работать всегда. Фактически, тип char и его "расширенные" производные надо просто выкинуть - это неудачная абстракция, которая не натягивается на сложившиеся традиции естественных языков. В результате остаётся тип string, который представляет собой байтовый массив в какой-то кодировке. Оптимальный вариант кодировки - UTF8. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 12:51 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Фактически, тип char и его "расширенные" производные надо просто выкинуть - это неудачная абстракция, которая не натягивается на сложившиеся традиции естественных языков. В результате остаётся тип string, который представляет собой байтовый массив в какой-то кодировке. Оптимальный вариант кодировки - UTF8. 1 байт вмещает 256 цифр (= 256 символов) в utf8 сильно больше, чем 256 цифр как вы предлагаете натянуть сову на глобус? КАК засунуть ВЕСЬ utf8 в 1 char, чтобы всем стало спокойно без полу-символов-пустышек? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:02 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
полудух, Никак его не надо туда засовывать. char не соответствует символу. Надо класс, который будет предоставлять api для работы с этими char* ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:05 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
полудух КАК засунуть ВЕСЬ utf8 в 1 char, чтобы всем стало спокойно без полу-символов-пустышек? Кстати, живы еще свидетели КОИ-8р, не к ночи будет сказано. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:06 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Давайте в реальность вернёмся: Отображение буквы "й" . Там ещё по ссылкам полезно почитать. И по ссылкам из ссылок. Даже если лично вы можете обеспечить для своей программы работу исключительно с NFC, то вам не удастся прогнуть под себя весь остальной мир. Понятно, букву Й представили в виде двух символов Юникода. На файловой системе и в utf-8 документах с иероглифами - я такого не наблюдаю. Но проблема, конечно, есть. А есть ещё символ ударения... поиск слов работать не будет. А некоторые пользуются буквой Ё. Опять проблемы с поиском и заменой. Понимаете к чему я? Вы тут начинаете говорить о странных вещах. Вы предлагаете что бы язык программирования поддерживал элементы интеллектуального лингвистического анализа. Мне так кажется. Basil A. Sidorov Фактически, тип char и его "расширенные" производные надо просто выкинуть - это неудачная абстракция, которая не натягивается на сложившиеся традиции естественных языков. В результате остаётся тип string, который представляет собой байтовый массив в какой-то кодировке. Оптимальный вариант кодировки - UTF8. Да, это было бы идеально. Я об этом тоже писал. Но они этого не сделали, они наплодили кучу сущностей, а утф-8 не поддерживают. Когда я начинаю критиковать проектировщиков С++, мне отвечают что это у меня руки кривые и я ICU не могу подключить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:31 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster полудух КАК засунуть ВЕСЬ utf8 в 1 char, чтобы всем стало спокойно без полу-символов-пустышек? Кстати, живы еще свидетели КОИ-8р, не к ночи будет сказано. Угу, особенно у военных)) Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:35 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Если я подключу ICU, она что такая интеллектуальная что два представления Й будет учитывать как одно и тоже? Т.е. в одной строке utf-8 это будет один символ Юникода, а в другой два. Что выдаст операция сравнения таких строк? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:36 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Скруль использует Код: plaintext 1.
А вот несуществующая страничка выкидывает шаблон без кодировки. С кракозябрами. Это как раз в тему интернационализации и прочего. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:38 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
mayton Скруль использует ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:40 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Если я подключу ICU ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:41 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
mayton Скруль использует Код: plaintext 1.
А что такое Скруль? Это не из анекдота "Уберите с руля"? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:42 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav mayton Скруль использует Код: plaintext 1.
А что такое Скруль? Это не из анекдота "Уберите с руля"? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:42 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Если я подключу ICU, она что такая интеллектуальная что два представления Й будет учитывать как одно и тоже? Т.е. в одной строке utf-8 это будет один символ Юникода, а в другой два. Что выдаст операция сравнения таких строк? По логике. Сначала обе строки должны быть нормализованы. А потом просто сделать хоть посимвольное. Хоть побайтное сравнение. Вообще это - не самое сложное. Есть еще другая тема. Сортировки. Их иногда называют Collations. Там - вообще конь не валялся. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:45 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav Если я подключу ICU Если бы я меньше трепался на форуме, то уже бы попробовал. Я тоже думал об этом. Я могу попробовать с Qt. Если сайт снова проглючит с кодировками, сразу говорю тут два представления буквы Й, выглядят в редакторе почти одинаково. Вроде как Qt использует ICU, но я не уверен. Код: plaintext 1. 2. 3.
Да, сайт глючит.. или фильтрует. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 13:54 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Код: plaintext 1.
В гуи из контрола бери. А в контрол баба Маша Ctrl +C из 1C и вставляет UTF8 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 14:08 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Basil A. SidorovФактически, тип char и его "расширенные" производные надо просто выкинуть Оптимальный вариант кодировки - UTF8. Осталось только вспомнить, что utf-8 это костыль, придуманный как раз с целью "оставить char*" и мы получаем ту самую std::wstring. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 14:11 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Вы тут начинаете говорить о странных вещах. Вы предлагаете что бы язык программирования поддерживал элементы интеллектуального лингвистического анализа. Мне так кажется. Я утверждаю, что поскольку реальное положение вещей таково, что тип char произвольной, но фиксированной ширины никак не соответствует понятию "символ" естественных языков, то и не надо даже пытаться работать со строками, как с char[]. Следовательно, прикладное API должно предоставлять тип string, без детализации - какая именно внутри неонка. Для реализации типа string необходимо выбрать представление и вариантов ровно один: массив байт. Они же - восьмибитные октеты. И это - тоже уже без вариантов. Остаётся только выбрать кодировку, в которой будут представлены символы в этом массиве байт. И опять-таки, самый разумный вариант - UTF8. Просто потому, что это - единственный вариант, обеспечивающий максимальную совместимость со всем, что основано на API стандартной библиотеки C. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 14:15 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC SharpА в контрол баба Маша Ctrl +C из 1C и вставляет UTF8 Это под какой ОСью? У Windows в "контрол" вставляется только юникод или текущий ANSI. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2019, 14:16 |
|
|
start [/forum/topic.php?fid=57&msg=39897034&tid=2017506]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 142ms |
0 / 0 |