Qt 获取以字节(不是字符)为单位的QString长度
我需要解决与之相反的问题。我有带有非ascii符号的Q字符串。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 =
例如:
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