我不明白当我创建文本流然后执行setCodec(“some_encoding”)时会发生什么,它是否开始假设我正在读取的文件是some_encoding并且当我执行QTextStream :: readAll返回时some_encoding中的QString?或者QTextStream :: readAll是否以unicode返回QString?
这就是我的所作所为:
QString read(const char* encoding)
{
QTextStream stream(&file);
stream.setCodec(encoding);
return stream.readAll();
}
但我没有得到一个unicode字符串。所以,我想知道,如果有一个文件在某种编码中,我将所有内容作为Unicode保存到QString中,那么,底线是什么?如果readAll()返回指定编码的字符串,如何将该QString从该编码转换为unicode? p>
答案 0 :(得分:0)
原来这与编码没有任何关系。我在阅读之前做过stream.seek(0)并且它读得很好。我怀疑问题出在编码上,因为通常在他们离开时你或者到处都有问号或空字符串,在这种情况下我得到一个空字符串。