作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 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/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!