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();