QString包含和特殊字符

时间:2014-08-21 11:43:46

标签: qt special-characters qstring

我有Qstring,其中包含一些字符和'Å'

使用MatchString.contains('Å')返回false。

我对这个功能的理解有些错误吗?

2 个答案:

答案 0 :(得分:2)

当您编写'Å'时,编译器将其视为ASCII字符,而Å是unicode字符。所以请改用L'Å'。在这里查看更多信息:
http://msdn.microsoft.com/en-us/library/dybsewaf.aspx

此外,您可能希望使用_T宏将文字字符串转换为L-prefixed形式,_UNICODE已定义。

答案 1 :(得分:1)

如果您的源文件未使用UTF-8编码保存,或者您的平台不支持无符号char类型,那么您可能会得到不同的结果,因此使用它的Unicode值显式创建QChar对象:

if (MatchString.contains(QChar(0xc5))) {
    ...
}