문제

I need to solve the problem opposite to this one. I have QString with non-ascii symbols.
For example:
Schöne Grüße

How to get the length of the string in bytes for UTF8 case? It should be 15.
I have tried conversion to ByteArray, to Latin1, ASCII but length is always the same.

도움이 되었습니까?

해결책

You need to use ::toUtf8() and append it to a QByteArray. Then you can get the length using .size().

QString s = "Schöne Grüße";
QByteArray bytes = s.toUtf8();
int length = bytes.size(); //Number of bytes

http://harmattan-dev.nokia.com/docs/platform-api-reference/xml/daily-docs/libqt4/qbytearray.html#size

다른 팁

http://clc-wiki.net/wiki/C_standard_library:string.h:strlen

The C Standard API strlen() returns the number of bytes in a null terminated string, not including the null terminator.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top