简体   繁体   中英

How to cast a QChar to int

In C++ there is a way to cast a char to int and get the ascii value in return. Is there such a way to do the same with a qchar? Since unicode supports so many characters and some of them are actually looking alike, it is sometimes hard to tell what one is dealing with. An explicit code point or a number that can be used to get such would be very helpful.

I searched a the web and this site for a solution but so far no luck, Qt documentation isn't much of help either, unless I'm overlooking something.

Thank you in advance!

EDIT:

Maybe I wasn't clear enough on the matter, sorry.

Here's some code:

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

Also, Qt allows this:

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

As far as I can tell, there has to be some information relating to the unicode codepoint in the ch object. Any possibility to get it out of there?

Took some time but I found the answer: QChar has a member named QChar::unicode which returns a ushort with its code point. Just for the record.

You can try this:-

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

Check this reference .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM