我有Qstring
,其中包含一些字符和'Å'
。
使用MatchString.contains('Å')
返回false。
我对这个功能的理解有些错误吗?
答案 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))) {
...
}