我正在嘗試讀取並打印可能包含或不包含UTF-8代碼的文件。使用Qt檢測和打印Unicode字符
我的例子包含:
喜
\ u22a2
哎
我niave代碼:
QFile file("/path/qteststream.txt");
if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
std::cout << "Fail" << std::endl;
QTextStream stream(&file);
QTextStream qout(stdout);
stream.setAutoDetectUnicode(true);
while(!stream.atEnd())
qout << stream.readLine() << endl;
但很明顯,林做錯了什麼。我期望\ u22a2被打印爲一個Unicode字符,但程序只是打印字符串。我怎樣才能打印像字符序列?
輸入文件字面上是否包含確切的字符串「\ u22a2」?或者你是否使用另一個程序來編寫實際的字符'\ u22a2'?如果是第一個,我懷疑QT流類會自動轉換它。 –
是的,'\ u22a2'包含一個字符串。我應該手動轉換它嗎? – TeaOverflow