powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / MSVC и GCC: совместимость кодировок исходников
25 сообщений из 409, страница 4 из 17
MSVC и GCC: совместимость кодировок исходников
    #39895649
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Что нам помешает писать с этими строками кроссплатформенное ПО?
ценность в кроссплатформенности?
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895653
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
это меньше одного процента работы
Qt это ПЛАТФОРМА а не ГУИ либа.
Ты наверно разницу не понял.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895659
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

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

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

Какие требования до небес? Ты о чём? Посмотри сколько сейчас текста на твоём экране, пару килобайт - это максимум. Если из-за преобразования wstring -> QString у тебя ПО начинает тормозить, значит оно спроектировано неправильно. Я уж не говорю, что на твоём экране 99% времени занимает отрисовка графики и всё равно это ноль %% от процессора (графические редакторы не учитываем).

Даже когда ты мышкой двигаешь, то постоянная генерация событий занимает на порядки больше времени чем это преобразование. Или ты сидишь за компом времён MS DOS?
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895664
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav
это меньше одного процента работы
Qt это ПЛАТФОРМА а не ГУИ либа.
Ты наверно разницу не понял.

Это ты не понял. Qt - это развитая либа где есть: GUI, сеть, файловая система, поддержка многопоточности, поддержка сети.

Ты можешь пользоваться только частью этого функционала. Согласно проектному решению.

Платформы это: операционные системы, процессоры, архитектуры вычислительных систем и т.д.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895666
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpQt это ПЛАТФОРМА а не ГУИ либа.

Ну, изначально это таки библиотека виджетов, причём специфическая, для телефонов. Всё
остальное к ней прикрутили уже из-за безысходности, в результате сноуболла.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895670
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
Спринг в java было так же.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895671
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav
Тему написания логики на Qt - мы уже обсудили. :)
ты не ответил. Файловый дескриптор как будешь писать?))

Что за вопрос? std::iostream (и прочее) не слышал что ли? Ну а про FILE* слышал?
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895672
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Ты можешь пользоваться только частью этого функционала.
напиши про файл выше. Мы ждём.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895675
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Ну а про FILE* слышал?
я написал. Тебе тяжело написать аналог?
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895676
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

PetroNotC SharpQt это ПЛАТФОРМА а не ГУИ либа.

Ну, изначально это таки библиотека виджетов, причём специфическая, для телефонов. Всё
остальное к ней прикрутили уже из-за безысходности, в результате сноуболла.

Изначально Qt - это как раз библиотека GUI под дескторы. Нокия их потом купила. Но на мобильном рынке у них не срослось, у Qt.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895677
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav
Ну а про FILE* слышал?
я написал. Тебе тяжело написать аналог?

Что написать? Как с файлами работать в С++? Что там за вопрос то был? Я забыл.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895679
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Изначально
не застал).
ПостФактум она хорошо делает кроссплатформенность.
Это же не гуи.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895682
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
забыл

Код: plaintext
1.
2.
3.
4.
QFile file(fileName) ;
if (! file.open(QIODevice::ReadOnly)) {
     QString s = file.errorString()+"\n......
      throw FileErrorException(s) ;
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895691
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpПостФактум она хорошо делает кроссплатформенность.
Это же не гуи.

Да. К сожалению, в ней есть и ГУИ, которое её и портит своей кривизной.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895694
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav
Изначально

ПостФактум она хорошо делает кроссплатформенность.
Это же не гуи.

Это у тебя абсолютно бессмысленный набор слов.

PetroNotC Sharp
petrav
забыл

Код: plaintext
1.
2.
3.
4.
QFile file(fileName) ;
if (! file.open(QIODevice::ReadOnly)) {
     QString s = file.errorString()+"\n......
      throw FileErrorException(s) ;


Ты хочешь что бы я переписал это на библиотеку I/O С++? Это полность тривиальный код, который легко пишется и на Си (кроме исключений) и на С++. К тому же он использует класс, которого нет в Qt. И Qt не работает с исключениями, там нет библиотеки типов исключений.

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

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

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

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

Тогда я думаю идеальным будут utf-16 строки: std::wstring и QString. Про суррагатные пары мы забудем. :) Есть, конечно, с wchar_t проблемы, он в Linux четыре байта (нет суррагатных пар?), а в Андроид, вроде бы, один байт. Но и про Андроид забудем, там же Ява рулит.

Мне кажется надо сильнее смотреть в будущее. Память хотя и дешевеет но все-же не настолько чтобы
embed dbms и кеши укладывались в оперативу без eviction. Везде где можно сэкономить балансируя
нагрузку CPU <=> Memory как некий эвристический регулятор - надо этим воспользоваться.

Для OpenJDK - это уже прошлое. Разработчики отказались от повсеместного хранения UTF-16 где-то с Java-9.
Они сделали просто 2 варианта использования одной и той-же строки. С физических хранением Latin1 и Utf-8
для национальных кодировок. Прикладной API при этом не изменился. Тоесть на совместимость это не влияет.

По поводу массивов.

Что означает это наше жёсткое непреклонное желание иметь строку массивом символов. Я где-то уже рассуждал
на эту тему и пришел к выводу что строка это вообще не array<char> а это stram<char>. И есть интеллектуальный
итератор который спокойно эту строку обходит.

Те редкие кейсы в которых вам внезапно (!) захотелось получить индексный доступ ко 2 или 3 или N-му элементу
строки я готов с вами здесь и сейчас рассмотреть. И убежден что такого кейса на самом деле не существует.
Особено в разрезе Dbms/Caches/BigData. Я готов его рассмотреть и я убежден что мы пересмотрим своё
отношение к индексатору строку и уберём его как рудимент. В конце концов - stream - экономнее и лаконичнее.

Если ваша предметная область разработки связана просто с машинками с ограниченными ресурсами (микроконтроллеры
- то здесь я - пас). Я не специалист в них и смыслы и мотивации их оптимизаций мне зачастую непонятны.

Как будут и непонятны большинству читающих этот форум. Т.к. программирование под bare-metal железки
это сегмент очень редкий и здесь почти не представленый.

Sql.ru - ресурс посвященный именно клиент-серверным технологиям в общем понимании этого слова.

Вот както так.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895725
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Что означает это наше жёсткое непреклонное желание иметь строку массивом символов. Я где-то уже рассуждал
на эту тему и пришел к выводу что строка это вообще не array<char> а это stram<char>. И есть интеллектуальный
итератор который спокойно эту строку обходит.

Те редкие кейсы в которых вам внезапно (!) захотелось получить индексный доступ ко 2 или 3 или N-му элементу
строки я готов с вами здесь и сейчас рассмотреть. И убежден что такого кейса на самом деле не существует.
Особено в разрезе Dbms/Caches/BigData. Я готов его рассмотреть и я убежден что мы пересмотрим своё
отношение к индексатору строку и уберём его как рудимент. В конце концов - stream - экономнее и лаконичнее.

C++ универсальный язык программирования, а не только Dbms/Caches/BigData.

Помогите с простым вопросом(и): как на библиотеке utf8cpp сделать: uppercase, replace и strlen? И где этот интеллектуальный итератор по utf8? Мне действительно нужно манипулировать строками, а не просто выводить их в поток. Я не понимаю почему я должен приводить примеры этих use case.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895726
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav

Помогите с простым вопросом(и): как на библиотеке utf8cpp сделать: uppercase, replace и strlen? И где этот интеллектуальный итератор по utf8? Мне действительно нужно манипулировать строками, а не просто выводить их в поток. Я не понимаю почему я должен приводить примеры этих use case.

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

Помогите с простым вопросом(и): как на библиотеке utf8cpp сделать: uppercase, replace и strlen? И где этот интеллектуальный итератор по utf8? Мне действительно нужно манипулировать строками, а не просто выводить их в поток. Я не понимаю почему я должен приводить примеры этих use case.

Сколько языков и стран вы хотите поддержать в uppercase?

Интересный вопрос. Вообще по работе мне нужен английский и русский. Просто мне говорили, что local8bit не рулит. Вот я и спрашиваю, как же перейти на utf8. Мне говорят, мол С++ не работает со строками, а есть супер библиотеки, которые не бросят в сопровождении. Ну вот я и задаю вопросы. Понятно, что если для иероглифа uppercase бессмысленнен, то для этих символов он ничего не должен делать.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895745
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо. Пускай будет русский и английский. По сабжу. Я не работал с utf8cpp и понятия не имею о ее возможностях.

Но в соотв с принципами декомпозиции. Если мы реализуем такую функцию для 1 символа

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
/**
 * Make uppercase for russian and English utf-8 chars
 * Do nothing for other range of symbols
 */
int toUpper(int utf8char) {
   ..........
}



- то мы фактически
решили задачу. Нам остаётся только итератор и билдер которые должны быть встроены в любую библиотеку.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895747
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
. К тому же он использует класс, которого нет в Qt. И Qt не работает с исключениями, там нет библиотеки типов исключений.

Если ты ноль в С++ я сделаю это, но за деньги.

Если ты ноль в Qt то информирую тебя бесплатно.
\include\QtCore\QException.h
Продолжай выпячивать безграмотность.
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895750
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пр примерам посмотрел. Расчет длины у них есть через итартор.

http://utfcpp.sourceforge.net/
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
// check for invalid utf-8 (for a simple yes/no check, there is also utf8::is_valid function)
        string::iterator end_it = utf8::find_invalid(line.begin(), line.end());
        if (end_it != line.end()) {
            cout << "Invalid UTF-8 encoding detected at line " << line_count << "\n";
            cout << "This part is fine: " << string(line.begin(), end_it) << "\n";
        }

        // Get the line length (at least for the valid part)
        int length = utf8::distance(line.begin(), end_it);
        cout << "Length of line " << line_count << " is " << length <<  "\n";
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895753
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
C++ универсальный язык программирования, а не только Dbms/Caches/BigData.

Спутал с высокоуровневым
https://ru.m.wikipedia.org/wiki/Высокоуровневый_язык_программирования
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895756
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Сколько языков и стран вы хотите поддержать в uppercase?
заодно, нужен ли ему join строк?
...
Рейтинг: 0 / 0
MSVC и GCC: совместимость кодировок исходников
    #39895759
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav
. К тому же он использует класс, которого нет в Qt. И Qt не работает с исключениями, там нет библиотеки типов исключений.

Если ты ноль в С++ я сделаю это, но за деньги.

Если ты ноль в Qt то информирую тебя бесплатно.
\include\QtCore\QException.h
Продолжай выпячивать безграмотность.

Начинается... Exception Safety . Цитата:
авторPreliminary warning: Exception safety is not feature complete! Common cases should work, but classes might still leak or even crash.

Qt itself will not throw exceptions. Instead, error codes are used. In addition, some classes have user visible error messages
И далее? Документация на Qt 5.13. То что они что-то там экспериментально прикрутили, то может я пропустил. Почему я вообще тебе отвечаю? С твоими понтами и вопросами такого уровня?
...
Рейтинг: 0 / 0
25 сообщений из 409, страница 4 из 17
Форумы / C++ [игнор отключен] [закрыт для гостей] / MSVC и GCC: совместимость кодировок исходников
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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