QString result ("very much text\\374more Text");
一个串和backslash-int-int-int
代表一个八进制数writen炭。在这种情况下,它是一个ü
。我想要字符ü
而不是反斜杠表示。
这就是我想:
while (result.contains('\\'))
if(result.length() > result.indexOf('\\') + 3)
{
bool success;
int i (result.mid(result.indexOf('\\') + 1, 3).toInt(&success, 8));
if (success)
{
//convert i to a string
QString myStringOfBits ("\\u" + QString::number(i, 16));
//QChar c = myStringOfBits.toUtf8();
//qDebug() << c;
}
}
我是小白,我知道
编译时,你的文本不包含'\\'字符。你的编译器将'\ 374'翻译成相应的字符 – chtz
qDebug给我打印'Pfad \ f \ 374r \ Ex-gesch \ 374tzte \ Dokumente'。我可以使用空格替换'\'但不是八进制字符 – Michael1248
尝试['QString :: fromLatin1(“非常多文本\ 374更多文本”)](http://doc.qt.io/qt-4.8/qstring .html#fromLatin1) – chtz