我的理解中没有这样的内置功能.
大约1 - 2年前,我提出了一个用于QString/QChar的isAscii()方法来包装低级Unix isacii()和相应的Windows函数,但它被拒绝了.你可以写下这样的东西:
bool isUnicode = !myString.at(3).isAcii();
Run Code Online (Sandbox Code Playgroud)
如果你能说服维护者,我仍然认为这将是一个方便的功能.:-)
除此之外,你恐怕需要自己检查ascii边界.您可以自己完成以下操作:
bool isUnicode = myChar.unicode() > 127;
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅文档
ushort QChar :: unicode()const
这是一个过载功能.
小智 5
要以紧凑的方式编写而不使用循环,可以使用正则表达式:
bool containsNonASCII = myString.contains(QRegularExpression(QStringLiteral("[^\\x{0000}-\\x{007F}]")));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3776 次 |
| 最近记录: |