Собственно САБЖ.
Работал с QWebView - проблем не было. QWebView возвращает QString:
QString data = MyWebView->page()->mainFrame()->toHtml();
Ответ в QString, искомый текст в QString. QString ищу в QString - все норм.
Но мне нужно использовать QNetworkAccessManager, а его ответ, это QNetworkReply, а он возвращает ответ в QByteArray... И тут понеслось...
QByteArray data = reply->read(reply->bytesAvailable());
Теперь у меня есть QByteArray. Нужно в нем найти подстроку QString. Вот собственно задача.
Пробую конвертировать QString в QByteArray - не получается:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("CP1251"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("CP1251"));
QString s = tr("Тест");
QByteArray b = s.toAscii();
b = s.toLatin1();
b = s.toLocal8Bit();
b = s.toUtf8();
Во всех случаях в "b" оказываются кракозябры, по крайней мере так показывает отладчик в QtCreator 2.4.1. Слышал что отладчик может неправильно просто отображать значение QByteArray. Но при попытке поиска подстроку не находит.
Кстате в data я не знаю какая кодировка HTML страницы:
QByteArray data = reply->read(reply->bytesAvailable());
Как мне QByteArray data найти подстроку QString?