在默认情况下,Qt 以 Unicode 格式读取或者写入文本字符,字符本身没有问题。乱码是因为Qt不知道将 Unicode 字符以何种方式显示出来。
使用QtextCodec来转换编码:
QFile file("C:/test/01.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
return;
}
QByteArray all = file.readAll();
QTextCodec *codec = QTextCodec::codecForName("GBK");
QString ReadyText = codec->toUnicode(all);