powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / MSVC и GCC: совместимость кодировок исходников
25 сообщений из 409, страница 3 из 17
MSVC и GCC: совместимость кодировок исходников
    #39895516
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav
модули логики
строки входные данные или предмет обработки?

Логика: строки, математика, работа с файлами, сетью и периферийным оборудованием. Ничего необычного.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895518
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
И я задаюсь вопросом: а зачем такой язык в котором восемь строковых типов, а со строками он не работает? Вот это и называется закат развития и уход в маразм.
язык для строк PHP.
А не java или шарп. Заметь.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895523
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой сегодня мотиватор - использовать 8 битные кодировки?
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895525
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Z axis
petrav
Мне иногда кажется, что мы наблюдаем закат C++. Особенно я в этом уверился когда комитет определил std::byte как strong enum...
А что в этом не так?

std::byte в таком виде нельзя по-человечески вывести в файловый/строковый поток С++. "typedef unsigned char byte" тоже в файловый поток нормально не выводится. Это гемор и проблема при написании шаблонов.

По сути в С++ нельзя распечатать восьмибитное значение - по нормальному.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895526
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух
русские буквы же в ASCii есть по одному байту
ASCII - семибитная кодировка.
В TeXBook-е есть замечательная цитата в одной из глав, которая заканчивается, примерно, так: "... необходимость использования более 128 символов в общецелевых приложениях всё ещё неочевидна".
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895528
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Какой сегодня мотиватор - использовать 8 битные кодировки?

Простота, прямая индексация, унаследованный код, сложность переписывания на uft8. Я не знаю статического анализатора который выявлял бы то что нужно переделать.

Вот скажите, плиз, где в библиотеке utf8cpp функция toupper()? Может не там ищу? Только не говорите мне, что размер в байтах может измениться.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895530
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
В чём я не прав?
Даже в русском алфавите есть два символа, которые могут быть представлены или одиночными кодами или последовательностью "базовый символ плюс диакритика".
Собственно именно составные символы гробят на корню простую и удобную идею "строка это массив (хрен с вами - много)байтовых символов".
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895535
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,

авторИ я задаюсь вопросом: а зачем такой язык в котором восемь строковых типов

Начнем с того, что там один тип - basic_string. А этот твой std::string - это лишь basic_string<char>. Как ты уже догадался, std::wstring - это basic_string<wchar>

автора со строками он не работает?
Работает. С любыми строками, где символ фиксированной длинны, о чём я тебе и сказал в начале треда. С utf8 не работает, потому что utf8 - говно с непостоянным размером символа и любые операции с этими строками подразумевают всякие извращения.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895537
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton
Какой сегодня мотиватор - использовать 8 битные кодировки?
Простота, прямая индексация, унаследованный код, сложность переписывания на uft8.
Однобайтовые кодировки работают с массивом байт, utf8 тоже позволяет работать со строкой, как с массивом байт.
Собственно, utf8 - единственный вариант, позволяющий (при минимальных ограничениях) работать с юникодом из кондового C API.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895540
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
utf8 юникод - говно с непостоянным размером символа и любые операции с этими строками подразумевают всякие извращения.
Зачеркнул и подчеркнул.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895542
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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*? Только по делу, без словоблудия и софистики.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895557
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster

Там в qt есть чуть ли не маленькая галактика, если ты так не хочешь тащить utfcpp. Не нравится тащи вон, boost. Это промышленная либа, которую поддерживают серьёзные люди, всё как тебе нравится.

boost - это скорее лаборатория и клуб профессиональных программистов. Эти программисты в рамках boost делают следующие вещи:

- Меняют программные интерфейсы своих библиотек до состояния несовместимости.
- Бросают сопровождение своих библиотек. Надоело.
- Разрабатывают велосипеды к своим же библиотекам.
- И, конечно, при развитии С++ некоторые их вещи устаревают.

И всё это я видел сам! Я использую boost, но крайне осторожно.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895564
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,

Нет. basic_string - это шаблонный тип
Вот именно. То есть один и тот же string с одними и теми же методами, только размеры char'а другие.

basic_string_view
Тоже самое, только с защитой от изменений.

char*
Это указатель.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895566
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
И всё это я видел сам! Я использую boost, но крайне осторожно.
и Qt тоже крайне осторожно.
Может библеотекобоязнь?
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895571
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
petrav,
Вот именно. То есть один и тот же string с одними и теми же методами, только размеры char'а другие.
Тоже самое, только с защитой от изменений.
Это указатель.

Просил же по делу, по смыслу. Нет, очевидные вещи получил в ответ. Но сути они не меняют.

Всё это разные восемь строковых типов. А ещё два типа забыл: char[] и wchar_t[]. И того 10-ть (десять) строковых типов в С++. Но со строками С++ не работает, только с кучей байт работает, как мне сказали выше.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895572
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,

А зачем тебе вообще нужен std::byte? И почему ты не используешь cstdint в таком случае?
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895583
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
petrav,

А зачем тебе вообще нужен std::byte? И почему ты не используешь cstdint в таком случае?

Мне он нужен как восьмибитное беззнаковое число. cstdint использую. Но std::uint8_t - это не тип, это синоним (typedef) к unsigned char. И в поток он выводится как символ, а мне нужно число. Без дополнительных преобразований и специализаций шаблонов.

Еще мне нужен знаковый восьмибитный *тип*, а не синоним!
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895585
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Путь в изоляционизм по прежнему актуален?

Говорить о кодировках без локализации - невозможно.

Давайте поговорим не о задаче - максимум. А о некотором минимуме ( например - поддержка кириллицы и 3х европейских языков в приложении).

И я думаю эту задачу мы решим.

Функции изменения регистра - не сложные но объёмистые. Грубо говоря это набор таблиц.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895596
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Путь в изоляционизм по прежнему актуален?

Говорить о кодировках без локализации - невозможно.

Давайте поговорим не о задаче - максимум. А о некотором минимуме ( например - поддержка кириллицы и 3х европейских языков в приложении).

И я думаю эту задачу мы решим.

Тогда я думаю идеальным будут utf-16 строки: std::wstring и QString. Про суррагатные пары мы забудем. :) Есть, конечно, с wchar_t проблемы, он в Linux четыре байта (нет суррагатных пар?), а в Андроид, вроде бы, один байт. Но и про Андроид забудем, там же Ява рулит.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895615
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravТогда я думаю идеальным будут utf-16 строки: std::wstring и QString.

Во-первых, когда говоришь "идеальным" - всегда уточняй для чего именно.
Во-вторых, нет, не будут. Именно из-за платформенных различий.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895623
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

petravТогда я думаю идеальным будут utf-16 строки: std::wstring и QString.

Во-первых, когда говоришь "идеальным" - всегда уточняй для чего именно.
Во-вторых, нет, не будут. Именно из-за платформенных различий.

Для разработки офисного ПО. Что нам помешает писать с этими строками кроссплатформенное ПО? Бинарная несовместимость? Хорошо, файлы будем писать в utf-8 - преобразовывать перед записью. Что ещё?

Ну и какой твой вариант?
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895624
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravДля разработки офисного ПО. Что нам помешает писать с этими строками кроссплатформенное
ПО? Бинарная несовместимость? Хорошо, файлы будем писать в utf-8 - преобразовывать перед
записью. Что ещё?

Простой вопрос: выбранное тобой Qt способно принимать wstring на вход виджетов?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895632
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

petravДля разработки офисного ПО. Что нам помешает писать с этими строками кроссплатформенное
ПО? Бинарная несовместимость? Хорошо, файлы будем писать в utf-8 - преобразовывать перед
записью. Что ещё?

Простой вопрос: выбранное тобой Qt способно принимать wstring на вход виджетов?

Нет, конечно. Но написать короткие функции вокруг QString::fromWCharArray() (и обратно), а потом их вызывать - это меньше одного процента работы. Плюс гарантия отсутствия ошибок (забыл вызвать функцию преобразования).

Тему написания логики на Qt - мы уже обсудили. :)
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895638
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravНо написать короткие функции вокруг QString::fromWCharArray() (и обратно), а потом их
вызывать - это меньше одного процента работы.

И заодно - просадка быстродействия или задирание системных требований до небес. Офисному
ПО отзывчивость интерфейса важна не меньше, чем какой-нибудь стрелялке.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895648
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Тему написания логики на Qt - мы уже обсудили. :)
ты не ответил. Файловый дескриптор как будешь писать?))
...
Рейтинг: 0 / 0
25 сообщений из 409, страница 3 из 17
Форумы / C++ [игнор отключен] [закрыт для гостей] / MSVC и GCC: совместимость кодировок исходников
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]