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

Qt 获取以字节(不是字符)为单位的QString长度,qt,text,size,codec,qstring,Qt,Text,Size,Codec,Qstring,我需要解决与之相反的问题。我有带有非ascii符号的Q字符串。 例如: Schöne Grße 如何获取UTF8大小写的字符串长度(以字节为单位)?应该是15。 我尝试过转换成ByteArray,转换成Latin1,ASCII,但长度总是一样的。您需要使用::toUtf8()并将其附加到QByteArray。然后可以使用.size()获取长度 C标准API strlen()返回以null结尾的字符串中的字节数,不包括null终止符。toUtf8没有参数!!没错,不是。 QString s =

我需要解决与之相反的问题。我有带有非ascii符号的Q字符串。
例如:
Schöne Grße

如何获取UTF8大小写的字符串长度(以字节为单位)?应该是15。
我尝试过转换成
ByteArray
,转换成
Latin1
ASCII
,但长度总是一样的。

您需要使用::toUtf8()并将其附加到QByteArray。然后可以使用.size()获取长度


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

toUtf8没有参数!!没错,不是。
QString s = "Schöne Grüße";
QByteArray bytes = s.toUtf8();
int length = bytes.size(); //Number of bytes