我需要解决与this one相反的问题。我有带非ascii符号的QString
例如:
Schöne Grüße
如何获取UTF8大小写的字符串长度?它应该是15
我已尝试转换为ByteArray
,Latin1
,ASCII
,但长度始终相同。
答案 0 :(得分:18)
您需要使用:: toUtf8()并将其附加到QByteArray。然后你可以使用.size()获得长度。
QString s = "Schöne Grüße";
QByteArray bytes = s.toUtf8();
int length = bytes.size(); //Number of bytes
答案 1 :(得分:-3)
http://clc-wiki.net/wiki/C_standard_library:string.h:strlen
C Standard API strlen()返回以null结尾的字符串中的字节数,不包括null终止符。