以字节为单位获取QString长度(不是字符)

时间:2013-08-15 17:09:08

标签: qt text size codec qstring

我需要解决与this one相反的问题。我有带非ascii符号的QString 例如:
Schöne Grüße

如何获取UTF8大小写的字符串长度?它应该是15 我已尝试转换为ByteArrayLatin1ASCII,但长度始终相同。

2 个答案:

答案 0 :(得分:18)

您需要使用:: toUtf8()并将其附加到QByteArray。然后你可以使用.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

答案 1 :(得分:-3)

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

C Standard API strlen()返回以null结尾的字符串中的字节数,不包括null终止符。