wchar_t testString[] = { 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x20,
0x928, 0x92E, 0x938, 0x94D, 0x924, 0x947,
0x00}; // some ASCII some Devanagari
qDebug() << "Original string" << fakeStringFromRegistry;
QByteArray encodedString
= codec
->fromUnicode
(fakeStringFromRegistry
);
qDebug() << "UTF-8" << encodedString.toHex();
encodedString = codec->fromUnicode(fakeStringFromRegistry);
qDebug() << "UTF-16LE with byte-order-mark " << encodedString.toHex();
qDebug() << "UTF-16LE without byte-order-mark" << encodedString.mid(2).toHex();
wchar_t testString[] = { 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x20,
0x928, 0x92E, 0x938, 0x94D, 0x924, 0x947,
0x00}; // some ASCII some Devanagari
QString fakeStringFromRegistry = QString::fromWCharArray(testString);
qDebug() << "Original string" << fakeStringFromRegistry;
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QByteArray encodedString = codec->fromUnicode(fakeStringFromRegistry);
qDebug() << "UTF-8" << encodedString.toHex();
codec = QTextCodec::codecForName("UTF-16LE");
encodedString = codec->fromUnicode(fakeStringFromRegistry);
qDebug() << "UTF-16LE with byte-order-mark " << encodedString.toHex();
qDebug() << "UTF-16LE without byte-order-mark" << encodedString.mid(2).toHex();
To copy to clipboard, switch view to plain text mode
Bookmarks