Правильный парсинг html в Qt

Проверил с другой кодировкой html страницы, ничего не вышло, брал страницу в кодировке windows-1251.

Понял в чем проблема, вот только как ее исправить пока даже не представляю.

Дело в том, что для работы с QXmlReader нужно записать данные в QXmlInputSource, а в QXmlInputSource данные могут быть только в виде QString, и брать с него данные мы можем только в виде QString.

Тем самым, если есть QByteArray, в котором записан текст в неизвестной кодировке, то его никак нельзя преобразовать в QString, а потом обратно в QByteArray без потери и искажения данных.

Если я не прав, поправьте меня, но насколько мне известно, то в QString'е данные хранятся в utf-8 и все приведенные ниже операции делают одно и тоже:

C++ (Qt)Выделить код

1
2
3
4
5
6

    QByteArray data;
    QString string;
 
    string=QString(data);
    string=data;
    string=QString::fromUtf8(data);