gpt4 book ai didi

c++ - QString 和德语变音符号

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:25:06 25 4
gpt4 key购买 nike

我正在使用 C++ 和 QT,但对德语变音符号有疑问。我有一个类似于“wir sind müde”的 QString,我想将其更改为“wir sind müde”,以便在 QTextBrowser 中正确显示它。

我试着这样做:

s = s.replace( QChar('ü'), QString("ü"));

但它不起作用。

还有

 s = s.replace( QChar('\u00fc'), QString("ü"))

不起作用。

当我循环遍历字符串的所有字符时,'ü' 是两个字符。

谁能帮帮我?

最佳答案

QString 是 UTF-16。

QString stores a string of 16-bit QChars, where each QChar corresponds one Unicode 4.0 character. (Unicode characters with code values above 65535 are stored using surrogate pairs, i.e., two consecutive QChars.)

那么试试

//if ü is utf-16, see your fileencoding to know this
s.replace("ü", "ü")

//if ü if you are inputting it from an editor in latin1 mode
s.replace(QString::fromLatin1("ü"), "ü");
s.replace(QString::fromUtf8("ü"), "ü"); //there are a bunch of others, just make sure to select the correct one

关于c++ - QString 和德语变音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7806147/

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