|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav модули логики Логика: строки, математика, работа с файлами, сетью и периферийным оборудованием. Ничего необычного. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 12:45 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav И я задаюсь вопросом: а зачем такой язык в котором восемь строковых типов, а со строками он не работает? Вот это и называется закат развития и уход в маразм. А не java или шарп. Заметь. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 12:46 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Какой сегодня мотиватор - использовать 8 битные кодировки? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 12:51 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Z axis petrav Мне иногда кажется, что мы наблюдаем закат C++. Особенно я в этом уверился когда комитет определил std::byte как strong enum... std::byte в таком виде нельзя по-человечески вывести в файловый/строковый поток С++. "typedef unsigned char byte" тоже в файловый поток нормально не выводится. Это гемор и проблема при написании шаблонов. По сути в С++ нельзя распечатать восьмибитное значение - по нормальному. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 12:54 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
полудух русские буквы же в ASCii есть по одному байту В TeXBook-е есть замечательная цитата в одной из глав, которая заканчивается, примерно, так: "... необходимость использования более 128 символов в общецелевых приложениях всё ещё неочевидна". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 12:58 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
mayton Какой сегодня мотиватор - использовать 8 битные кодировки? Простота, прямая индексация, унаследованный код, сложность переписывания на uft8. Я не знаю статического анализатора который выявлял бы то что нужно переделать. Вот скажите, плиз, где в библиотеке utf8cpp функция toupper()? Может не там ищу? Только не говорите мне, что размер в байтах может измениться. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:00 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav В чём я не прав? Собственно именно составные символы гробят на корню простую и удобную идею "строка это массив (хрен с вами - много)байтовых символов". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:02 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav, авторИ я задаюсь вопросом: а зачем такой язык в котором восемь строковых типов Начнем с того, что там один тип - basic_string. А этот твой std::string - это лишь basic_string<char>. Как ты уже догадался, std::wstring - это basic_string<wchar> автора со строками он не работает? Работает. С любыми строками, где символ фиксированной длинны, о чём я тебе и сказал в начале треда. С utf8 не работает, потому что utf8 - говно с непостоянным размером символа и любые операции с этими строками подразумевают всякие извращения. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:06 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav mayton Какой сегодня мотиватор - использовать 8 битные кодировки? Собственно, utf8 - единственный вариант, позволяющий (при минимальных ограничениях) работать с юникодом из кондового C API. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:07 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster utf8 юникод - говно с непостоянным размером символа и любые операции с этими строками подразумевают всякие извращения. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:09 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster petrav, авторИ я задаюсь вопросом: а зачем такой язык в котором восемь строковых типов Начнем с того, что там один тип - basic_string. А этот твой std::string - это лишь basic_string<char>. Как ты уже догадался, std::wstring - это basic_string<wchar> Нет. basic_string - это шаблонный тип. А basic_string<char> и basic_string<wchar> - это в С++ разные типы. Что насчёт basic_string_view и char*? Только по делу, без словоблудия и софистики. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:11 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster Там в qt есть чуть ли не маленькая галактика, если ты так не хочешь тащить utfcpp. Не нравится тащи вон, boost. Это промышленная либа, которую поддерживают серьёзные люди, всё как тебе нравится. boost - это скорее лаборатория и клуб профессиональных программистов. Эти программисты в рамках boost делают следующие вещи: - Меняют программные интерфейсы своих библиотек до состояния несовместимости. - Бросают сопровождение своих библиотек. Надоело. - Разрабатывают велосипеды к своим же библиотекам. - И, конечно, при развитии С++ некоторые их вещи устаревают. И всё это я видел сам! Я использую boost, но крайне осторожно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:21 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav, Нет. basic_string - это шаблонный тип Вот именно. То есть один и тот же string с одними и теми же методами, только размеры char'а другие. basic_string_view Тоже самое, только с защитой от изменений. char* Это указатель. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:24 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav И всё это я видел сам! Я использую boost, но крайне осторожно. Может библеотекобоязнь? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:27 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster petrav, Вот именно. То есть один и тот же string с одними и теми же методами, только размеры char'а другие. Тоже самое, только с защитой от изменений. Это указатель. Просил же по делу, по смыслу. Нет, очевидные вещи получил в ответ. Но сути они не меняют. Всё это разные восемь строковых типов. А ещё два типа забыл: char[] и wchar_t[]. И того 10-ть (десять) строковых типов в С++. Но со строками С++ не работает, только с кучей байт работает, как мне сказали выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:31 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav, А зачем тебе вообще нужен std::byte? И почему ты не используешь cstdint в таком случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:32 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster petrav, А зачем тебе вообще нужен std::byte? И почему ты не используешь cstdint в таком случае? Мне он нужен как восьмибитное беззнаковое число. cstdint использую. Но std::uint8_t - это не тип, это синоним (typedef) к unsigned char. И в поток он выводится как символ, а мне нужно число. Без дополнительных преобразований и специализаций шаблонов. Еще мне нужен знаковый восьмибитный *тип*, а не синоним! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:40 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Путь в изоляционизм по прежнему актуален? Говорить о кодировках без локализации - невозможно. Давайте поговорим не о задаче - максимум. А о некотором минимуме ( например - поддержка кириллицы и 3х европейских языков в приложении). И я думаю эту задачу мы решим. Функции изменения регистра - не сложные но объёмистые. Грубо говоря это набор таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:41 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
mayton Путь в изоляционизм по прежнему актуален? Говорить о кодировках без локализации - невозможно. Давайте поговорим не о задаче - максимум. А о некотором минимуме ( например - поддержка кириллицы и 3х европейских языков в приложении). И я думаю эту задачу мы решим. Тогда я думаю идеальным будут utf-16 строки: std::wstring и QString. Про суррагатные пары мы забудем. :) Есть, конечно, с wchar_t проблемы, он в Linux четыре байта (нет суррагатных пар?), а в Андроид, вроде бы, один байт. Но и про Андроид забудем, там же Ява рулит. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 13:52 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petravТогда я думаю идеальным будут utf-16 строки: std::wstring и QString. Во-первых, когда говоришь "идеальным" - всегда уточняй для чего именно. Во-вторых, нет, не будут. Именно из-за платформенных различий. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:03 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov petravТогда я думаю идеальным будут utf-16 строки: std::wstring и QString. Во-первых, когда говоришь "идеальным" - всегда уточняй для чего именно. Во-вторых, нет, не будут. Именно из-за платформенных различий. Для разработки офисного ПО. Что нам помешает писать с этими строками кроссплатформенное ПО? Бинарная несовместимость? Хорошо, файлы будем писать в utf-8 - преобразовывать перед записью. Что ещё? Ну и какой твой вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:12 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petravДля разработки офисного ПО. Что нам помешает писать с этими строками кроссплатформенное ПО? Бинарная несовместимость? Хорошо, файлы будем писать в utf-8 - преобразовывать перед записью. Что ещё? Простой вопрос: выбранное тобой Qt способно принимать wstring на вход виджетов? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:15 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov petravДля разработки офисного ПО. Что нам помешает писать с этими строками кроссплатформенное ПО? Бинарная несовместимость? Хорошо, файлы будем писать в utf-8 - преобразовывать перед записью. Что ещё? Простой вопрос: выбранное тобой Qt способно принимать wstring на вход виджетов? Нет, конечно. Но написать короткие функции вокруг QString::fromWCharArray() (и обратно), а потом их вызывать - это меньше одного процента работы. Плюс гарантия отсутствия ошибок (забыл вызвать функцию преобразования). Тему написания логики на Qt - мы уже обсудили. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:24 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petravНо написать короткие функции вокруг QString::fromWCharArray() (и обратно), а потом их вызывать - это меньше одного процента работы. И заодно - просадка быстродействия или задирание системных требований до небес. Офисному ПО отзывчивость интерфейса важна не меньше, чем какой-нибудь стрелялке. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 14:33 |
|
|
start [/forum/topic.php?fid=57&msg=39895572&tid=2017506]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 259ms |
total: | 394ms |
0 / 0 |