Форум программистов, компьютерный форум, киберфорум
Кроссплатфор­менная разработка
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
1 / 1 / 0
Регистрация: 07.02.2016
Сообщений: 6
1

Как определить кодировку в QString?

20.05.2019, 09:27. Показов 4523. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//Пытаемся своими кривыми руками генерировать символы аля ASCII
 
    for(int i = 0; i < LM.length(); i++)
    {
        Buff += LM[i];
        if (i % 7 == 0 && i != 0)
        {
            QChar sym = getAsciiCode(Buff);
            entry += sym;
            Buff = "1";
        }
        if(Buff.length() > 1)
            entry += '0';
    }
 
//Закатываем текст в файл
    
QFile file(CompressorPath + "1.txt");
    file.open(QIODevice::WriteOnly);
    file.write(entry.toUtf8());
    file.close();
 
//Какие-то странные манипуляции с файлами, в результате которых содержимое 1.txt должнр быть равно 3.txt     
 
file.setFileName(CompressorPath + "3.txt");
    file.open(QIODevice::ReadOnly);
    QString entry2 = file.readAll();
 
 
    if (entry.toUtf8() == entry2)
        qDebug() << "URA";
    else
        qDebug() << "=(";

Чтобы записать из QString в файл, гугл предлагает перевести в utf8. После некоторой черной магии мы получаем содержимое файла в другом файле, котором мы считываем. Очевидно, данные будут в utf8 кодировке. Набор символов в тексте генерируется случайно с ASCII кодом в диапазоне от 128 до 255.

Собственно, вопрос. Теперь мне нужно содержимое второго файла привести к изначальному виду, который, судя по всему совсем не utf8. Друзья, подскажите, в какой кодировке хранятся символы в QString и каким образом из utf8 их можно привести к кодировке "по умолчанию".

Если кодировка назначается автоматически в результате заполнения QString, то в моем случае:
C++ (Qt)
1
2
3
4
5
            QString entry;
            //данная функция возвращает int в диапазоне от 128 до 255
            QChar sym = getAsciiCode(Buff);
          
            entry += sym;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2019, 09:27
Ответы с готовыми решениями:

Как в qt изменить кодировку строки QString ?
Есть QString s;. Я хочу, чтобы кодировка s стала utf-8 Такая конструкция выдает ошибку: ...

Как разбить QString строку на подстроки, т.е. на qlist <qstring> ?
Как разбить QString строку: &quot;/michaeltosell&quot;, &quot;/vorago&quot;, &quot;/yanochka147&quot;, &quot;gertylohhg&quot;, на...

Cтрока: Как сконвертировать QString в const QString?
Доброго времени суток. Как сконвертировать QString в const QString

Как определить кодировку текста?
Доброго времени суток. Подскажите как автоматически определить кодировку будь то русский или...

1
18896 / 9854 / 2410
Регистрация: 30.01.2014
Сообщений: 17,297
27.05.2019, 10:40 2
Цитата Сообщение от greenisius Посмотреть сообщение
рузья, подскажите, в какой кодировке хранятся символы в QString
В UTF-32.

Цитата Сообщение от greenisius Посмотреть сообщение
каким образом из utf8 их можно привести к кодировке "по умолчанию".
QString::fromUtf8: https://doc.qt.io/archives/qt-... l#fromUtf8
0
27.05.2019, 10:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2019, 10:40
Помогаю со студенческими работами здесь

Как определить текущую кодировку (RU/EN)?
Подскажите пожалуйста, как определить текущую кодировку (RU/EN)? Заранее благодарен.

Как определить кодировку файла?
Допустим, программа будет обрабатывать некий текстовый файл с зарание неизвестной кодировкой. Как...

Как определить кодировку сайта?
Здравствуйте уважаемые верстальщики. Подскажите как мне определить кодировку в которой приходит...

Не знаю как определить кодировку
У меня есть скрипт, который извлекает из странички ее мета теги и название, но в браузере, если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru