gpt4 book ai didi

c++ - 从文件中的字符串转换 QString

转载 作者:搜寻专家 更新时间:2023-10-31 01:40:21 24 4
gpt4 key购买 nike

我想在 QLabel 中设置文本,所以我需要使用 QString。但是我读了一个文件,文本中包含重音符号。我尝试使用 QString::fromUtf8() 但它不起作用。

有什么想法吗?

string line;
QString lineTranslate;
getline(file, line);
lineTranslate = QString::fromStdString(line);
m_nomCourant->setText(QString::fromLatin1("<u><strong>Nom courant :</strong></u> ") + lineTranslate);

期望的输出:

Nom courant : Requin
Nom scientifique : Carcharhinus menalopterus

Habitat : Côtier / Dans les zones coralliennes jusqu'à -30m
Famille : Carcharhinidés

实际输出:

Nom courant : Requin
Nom scientifique : Carcharhinus menalopterus

Habitat : C?tier / Dans les zones coralliennes jusqu'? -30m
Famille : Carcharhinid?s

编辑:你建议我使用什么来拥有多行的QString

最佳答案

您需要知道文件中使用的编码(字符集)。然后您将使用 fromUtf8,或者使用其他东西 - 使用 QTextCodec

Qt 文档中的示例:

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;

关于c++ - 从文件中的字符串转换 QString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29912544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com