|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
Допустим у меня есть такой код: Код: plaintext 1. 2.
Будучи сохранённым в файл в кодировке utf-8 with BOM в MSVC первая строка в кодировке local-8bit, а вторая строка - utf-8. Конечно, речь идёт о времени исполнения приложения. Вопрос: что будет с этим файлом в случае Windows+MinGW и Linux+GCC? В какой кодировке стоит сохранять файлы для кроссплатформенной совместимости? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 10:21 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Windows+MinGW и Linux+GCC Там уже свои заморочки. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 10:34 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav, Какие "Привет, пока"? Какой UTF? Только ASCII. Зачем тебе создавать проблемы? Локализация делается в отдельном файле, откуда вытаскивается gettext'ом. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 10:38 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav Windows+MinGW и Linux+GCC Там уже свои заморочки. Ну вообще да. Именно в связке с Qt. Но там же вроде GCC... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 10:45 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Но там же вроде GCC... petrav Именно в связке с Qt extern QString CONST_NAME; QString CONSTZNAME = " Привет..." ; ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 10:53 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC Sharp QString CONSTZNAME = " Привет..." ; CONST_NAME окапечатка ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 10:54 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster petrav, Какие "Привет, пока"? Какой UTF? Только ASCII. Зачем тебе создавать проблемы? Локализация делается в отдельном файле, откуда вытаскивается gettext'ом. Это было бы идеально. Но... использование подобных инструментов резко повышает муторность разработки, а гибкость в создании локализаций мне не нужна. UTF-8 нужен что бы строки передавать в интерфейсы Qt. Он понимает только UTF-8. Можно, конечно, каждый раз преобразовывать средствами самого Qt. Вообще эти проблемы с кодировками бесят неимоверно, какое-то болото на ровном месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 10:56 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav utf-8 with BOM ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 10:57 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Вообще эти проблемы с кодировками бесят неимоверно, какое-то болото на ровном месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 10:59 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav, Но... использование подобных инструментов резко повышает муторность разработки, а гибкость в создании локализаций мне не нужна То есть, находишь опечатку и ставишь пересобирать - норм. Заюзать попсовый gettext - не норм. Вообще эти проблемы с кодировками бесят неимоверно, какое-то болото на ровном месте. Ты думаешь я тебе втираю тут про ascii от хорошей жизни? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 10:59 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav utf-8 with BOM Т.е. с такой кодировкой исходников у меня будет и utf-8 и однобайтовые строки в любом окружении? Windows/Linux + MinGW/GCC в любых допустимых их вариациях? Отлично спасибо. :) Вы меня успокоили. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 11:09 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster petrav, Но... использование подобных инструментов резко повышает муторность разработки, а гибкость в создании локализаций мне не нужна То есть, находишь опечатку и ставишь пересобирать - норм. Заюзать попсовый gettext - не норм. Имею большой опыт работы с подобной системой локализации от Qt. Я проклял всё... тогда. :) Вообще эти проблемы с кодировками бесят неимоверно, какое-то болото на ровном месте. Ты думаешь я тебе втираю тут про ascii от хорошей жизни?[/quot] Это-то я понимаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 11:11 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav в любом окружении? Это закон. Я компилил под линукс и второй раз под те де исходники под винду. Работало. Что я делал не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 11:14 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav в любых допустимых их вариациях Практический вопрос топика или теория? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 11:16 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav в любых допустимых их вариациях Практический вопрос топика или теория? Я спрашивал в каком формате мне файлы кодировать, что бы при задаче (вполне вероятной) портировать на Linux (или на MinGW) мне не пришлось всю программу переписывать. Ответ я получил: файлы исходников в кодировке utf-8 with BOM. И всё. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 11:20 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav, Файлы в utf-8 само ide требует при открытии. Причем плевать какой текст и код там будет написан. Тогда всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 11:31 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petravЯ спрашивал в каком формате мне файлы кодировать В той, которую укажешь компилятору специально для этого предназначенным ключом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 14:09 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav ...В какой кодировке стоит сохранять файлы для кроссплатформенной совместимости? utf8+bom - кроссплатформеннее некуда. И разлюбезная Qt их понимает без дополнительных стуков в бубен. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 14:34 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Вообще эти проблемы с кодировками бесят неимоверно, какое-то болото на ровном месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 16:41 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav Вообще эти проблемы с кодировками бесят неимоверно, какое-то болото на ровном месте. не потому ли, что MS изобрела свои собственные кодировки (codepages), штобы "не быть как все" ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 21:52 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
полудух petrav Вообще эти проблемы с кодировками бесят неимоверно, какое-то болото на ровном месте. не потому ли, что MS изобрела свои собственные кодировки (codepages), штобы "не быть как все" А что такого Майкрософт разработала? UTF-16? BOM? Я просто не в курсе. И уж точно не майкрософт разработала язык в котором восемь строковых типов и отсутствуют инструменты работы с "супер" кодировкой utf-8: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Мне иногда кажется, что мы наблюдаем закат C++. Особенно я в этом уверился когда комитет определил std::byte как strong enum... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 09:43 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav, и отсутствуют инструменты работы с "супер" кодировкой utf-8 Ты не знаешь что из себя представляет utf-8, а виноваты клятые крестовики. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 09:54 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster petrav, и отсутствуют инструменты работы с "супер" кодировкой utf-8 Ты не знаешь что из себя представляет utf-8, а виноваты клятые крестовики. В теории знаю, там ничего сложного. Я вчера гуглил и везде советуют использовать сторонние библиотеки: ICU или utfcpp. Или писать свои костыли. В библиотеках ICU и utfcpp наверняка тоже свои велосипеды и костыли типа QString. Особенно меня убило, что они std::mblen() сделали *не* потокобезопасной или заторможенной из-за скрытого использования TLS. Что я делаю не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 10:08 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
petrav В теории знаю, там ничего сложного. Я вчера гуглил Так, всё понятно. std::mblen() И что ты собрался им мерить? везде советуют использовать сторонние библиотеки: ICU или utfcpp. Конечно везде советуют сторонние библиотеки. Плюсы предоставляют инструменты для работы с кучей байт. Символы utf - это не байты. Длинна символа может быть от 1 до 4 байт, там могут быть еще всякие модификаторы и прочие подводные камни. Ты все это собрался реализовать? Что я делаю не так? Ссыш против ветра. Ты пишешь под кутэ? Вот и юзай его фишки. А utfcpp - вообще header-only, какие проблемы? Но нет, надо жрать кактус с wchar*/wstring и ныть о том, какие все му**ки. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 10:22 |
|
MSVC и GCC: совместимость кодировок исходников
|
|||
---|---|---|---|
#18+
crutchmaster std::mblen() И что ты собрался им мерить? Он возвращает длину текущего многобайтового символа. В байтах. crutchmaster везде советуют использовать сторонние библиотеки: ICU или utfcpp. Конечно везде советуют сторонние библиотеки. Плюсы предоставляют инструменты для работы с кучей байт. Символы utf - это не байты. Длинна символа может быть от 1 до 4 байт, там могут быть еще всякие модификаторы и прочие подводные камни. Я это знаю уже лет 10-ть. Вот это меня и раздражает, что в 2019-м году, после стольких лет развития, С++ не предоставляет возможности работать со строками, а только с кучей байт работает! Что я должен подключать какое-то стороннее велосипедирование с произвольным уровнем кривизны. Завтра это костылирование перестанут поддерживать и что тогда? crutchmaster Ты все это собрался реализовать? Нет, конечно. crutchmaster Что я делаю не так? Ссыш против ветра. Ты пишешь под кутэ? Вот и юзай его фишки. А utfcpp - вообще header-only, какие проблемы? Но нет, надо жрать кактус с wchar*/wstring и ныть о том, какие все му**ки. На Qt я пишу только GUI. А логику на С++. А utfcpp - это сторонний костыль. Кстати, QString тоже использует utf-16. Почему я не могу использовать wchar_t? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 10:36 |
|
|
start [/forum/topic.php?fid=57&msg=39895398&tid=2017506]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 260ms |
total: | 394ms |
0 / 0 |