QTextCodec用来解决文本的编码问题,
Qt5 取消了QTextCodec::setCodecForTr()和
QTextCodec::setCodecForCString()这两个函数。
直接将 QTextCodec::setCodecForLocale(QTextCodec::codecForName(“UTF8”)) 至于Qapplication实例之前即可解决;
QByteArray encodedString = "...";QTextCodec *codec = QTextCodec::codecForName("KOI8-R");QString string = codec->toUnicode(encodedString);QString string = "...";QTextCodec *codec = QTextCodec::codecForName("KOI8-R");QByteArray encodedString = codec->fromUnicode(string);QTextCodec *codec = QTextCodec::codecForName("Shift-JIS");QTextDecoder *decoder = codec->makeDecoder();QString string;while (new_data_available()) { QByteArray chunk = get_new_data(); string += decoder->toUnicode(chunk);}delete decoder;
新闻热点
疑难解答