MVP test console application with Qt (direct transcoding, original: https://toster.ru/q/498730):

#include <QCoreApplication>
#include <QFile>
#include <QDebug>
#include <QTextCodec>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QFile file("testfile.txt");
    file.open(QIODevice::ReadOnly | QIODevice::Text);

    QByteArray data = file.readAll();

    QTextCodec *codec = QTextCodec::codecForName("Windows-1251");

    QString str = codec->toUnicode(data);
    qDebug()<<data<<str;

    return a.exec();
}

Decrypting the CP-1251 string from string-encoded HEX format (original: http://axis.bplaced.net/news/851):

QByteArray msg = QByteArray::fromHex("cde5eff0e0e2e8ebfcedeee520f1eeeee1f9e5ede8e5204b4f4e5f544d5f484f53544b4e4620eef220d3cad2d121");
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
QString strf = codec->toUnicode(msg);
qDebug() << strf;

// Two possible modes
QByteArray wtf_s(strf.toStdString().c_str());
// wtf_s.append(strf); 
 
QByteArray wtf = codec->fromUnicode(wtf_s);
qDebug() << wtf.toHex();