【发布时间】:2023-03-11 15:46:01
【问题描述】:
我正在尝试读取和打印一个可能包含也可能不包含 UTF-8 代码的文件。
我的示例文件包含:
嗨
\u22a2
嘿
我的天真密码:
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包含为字符串。那我应该手动转换吗?