可以使用QTextCodecs将一些本地编码的字符串转换为Unicode。假设你有一些用俄语KOI8-R编码的字符串编码,并且想要将其转换为Unicode。简单的做法就是这样:
QByteArray encodedString =“...”;
QTextCodec * codec = QTextCodec :: codecForName(“KOI8-R”);
QString string = codec-> toUnicode(encodedString);
此后,字符串将文本转换为Unicode。将字符串从Unicode转换为本地编码同样容易:
QString string =“...”;
QTextCodec * codec = QTextCodec :: codecForName(“KOI8-R”);
QByteArray encodedString = codec-> fromUnicode(string);
例如:
将字符串从Unicode转换为本地编码UTF-8,UTF-8为QT中设置的编码方式
QString str = "我们";
QTextCodec* code = QTextCodec::codecForName("UTF-8");
QByteArray a = code->fromUnicode(str);
qDebug()<<a;
输出:我们