【问题标题】:How to cast a QChar to int如何将 QChar 转换为 int
【发布时间】:2013-08-24 05:47:46
【问题描述】:

在 C++ 中,有一种方法可以将 char 转换为 int 并获得 ascii 值作为回报。有没有办法对 qchar 做同样的事情?由于 unicode 支持如此多的字符,而且其中一些实际上看起来很相似,因此有时很难判断一个字符在处理什么。一个明确的代码点或可用于获取此类的数字将非常有帮助。

我在网上和这个网站上搜索了一个解决方案,但到目前为止没有运气,Qt 文档也没有太大帮助,除非我忽略了一些东西。

提前谢谢你!

编辑:

也许我对这件事不够清楚,抱歉。

这里有一些代码:

char chChar = 'a';
cout << (int)chChar; // will output 97, not 'a'

另外,Qt 允许这样做:

QChar ch = 'a';
if(ch == 0x61)
//...

据我所知,ch 对象中必须有一些与 unicode 代码点相关的信息。有没有可能把它弄出来?

【问题讨论】:

    标签: qt casting int codepoint qchar


    【解决方案1】:

    花了一些时间,但我找到了答案:QChar 有一个名为 QChar::unicode 的成员,它返回一个 ushort 及其代码点。仅作记录。

    【讨论】:

    【解决方案2】:

    你可以试试这个:-

    ch.toUpper() == QLatin1Char('S') ? 0LL : \
    

    检查这个reference

    【讨论】:

    • 我编辑了这个问题。上面的代码到底应该做什么?
    • 这是做什么的?这不是有效的 C++
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 2020-07-17
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    相关资源
    最近更新 更多